Удаление элементов из сортированного набора - ZREM

Я удаляю элементы с помощью ZREM, однако чаще всего элемент не является членом отсортированного набора.

Должен ли я сначала проверить с помощью ZSCORE, установлен ли элемент, а затем продолжить работу с ZREM, поскольку первый - это O(1) и, следовательно, быстрее в целом?

Создание Twitter-подобного приложения Trending Topics App с Redis (на примере PHP)
Создание Twitter-подобного приложения Trending Topics App с Redis (на примере PHP)
Redis - это популярная база данных типа "ключ-значение" в памяти с поддержкой различных типов и структур данных, которая в основном используется для...
0
0
193
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

НЕТ. Это усложняет ваш код и может работать медленнее.

По сравнению с сетевым RTT (в миллисекундах) эти две команды выполняются очень быстро (в микросекундах). Вы можете почти игнорировать время обработки команды.

Кроме того, если элемент существует, вам нужно отправить 2 команды и получить двойные RTT. Это будет намного медленнее, чем отправка только одной команды.

Да, вы можете обернуть логику в сценарий Lua, чтобы избежать лишнего RTT. Однако это усложняет задачу. Также обмен значениями между Lua и C может стоить больше, чем время обработки команды.

Другие вопросы по теме