Проверка уникальности пар ключ-значение перед отправкой в экземпляр redis

Я POST передаю список пар ключ-значение в redis_instance. Я хотел бы сначала проверить, существуют ли уже какие-либо ключи/значения, которые я отправляю в redis, чтобы избежать дублирования пар ключ-значение или случаев, когда существующий ключ имеет другое значение или существующее значение имеет другой ключ, например, чтобы избежать таких сценариев, как этот:

Fred: Luke
Luke: Jim
Jim: Jane

и вместо этого разрешить запись только этих пар в мои redis_instance:

Fred: Luke
Jim: Jane

Вот что у меня есть:

@api_view(['GET', 'POST'])
def manage_items(request, *args, **kwargs):
    if request.method == 'GET':
        items = {}
        count = 0
        for key in redis_instance.keys("*"):
            items[key.decode("utf-8")] = redis_instance.get(key)
            count += 1
        response = {
            'count': count,
            'msg': f"Found {count} items.",
            'items': items
        }
        return Response(response, status=200)
    elif request.method == 'POST':
        item = json.loads(request.body)
        keys = list(item.keys())
        values = list(item.values())
        for i in range(0, len(keys)):
            redis_instance.set(keys[i], values[i])
        response = {
            'msg': f"{keys} successfully set to {values}"
        }
        return Response(response, 201)

не совсем уверен, как это осуществить

Вернуться на верх