Проверка уникальности пар ключ-значение перед отправкой в экземпляр 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)
не совсем уверен, как это осуществить