Как добавить / обновить / удалить значение в существующем списке значений в кэше redis с помощью django

#python-3.x #django #redis

#python-3.x #django #redis

Вопрос:

Я сохраняю данные в redis, как показано ниже: ключ: "fruitList" значения: [{"a": "apple", "id": 1}, {"b": "banana", "id": 2}, {"m": "mango", "id": 3}]

чтобы добавить следующие данные, я использовал conn = cache.client.get_client()
conn.lpush(key, *values)

Теперь я хочу обновить / удалить некоторый элемент значения, например. удаление {«b»: «banana», «id»: 2} из значений. У меня огромный список значений. Как бы я это сделал. Пожалуйста, помогите

Ответ №1:

Вы не можете обновлять элементы списка, но вы можете удалить.

если вы хотите удалить, используйте команду LREM

 conn = cache.client.get_client()
conn.lrem(key, *values)
  

Обновление может быть выполнено с помощью скрипта LUA, поскольку вам понадобится индекс для элемента, вам придется использовать команды LPOS и LSET .