Ответ 1
Я не думаю, что вам нужно проверить длину, но вам нужно сделать это самостоятельно:
ZREMRANGEBYRANK [KEY] 0 -10
Скажем, я хочу сохранить 10 самых последних дополнений к отсортированному набору redis, где 11-е дополнение выталкивает первый из списка. И пока он не достигнет 10 предметов, он просто растет нормально.
Нужно ли проверять длину на каждом добавлении и удалять 1-й элемент?
Я не думаю, что вам нужно проверить длину, но вам нужно сделать это самостоятельно:
ZREMRANGEBYRANK [KEY] 0 -10
если вам просто нужно удалить первый элемент в ZSet вы можете использовать эту команду:
ZREMRANGEBYRANK key 0 0
вы также можете отсортировать 11-й элемент как первый элемент в ZSet, используя ZADD со счетом 1:
ZADD key 1 member
EX:
redis 127.0.0.1:6379 > ZADD myzset 1 one
(целое число) 1
redis 127.0.0.1:6379 > ZADD myzset 1 два
(целое число) 1
redis 127.0.0.1:6379 > ZRANGE myzset 0 -1 с изображениями
1) "один"
2) "1"
3) "два"
4) "1"
redis 127.0.0.1:6379 > ZREMRANGEBYRANK myzset 0 0
(целое число) 1
redis 127.0.0.1:6379 > ZADD myzset 1 три
(целое число) 1
redis 127.0.0.1:6379 > ZRANGE myzset 0 -1 с изображениями
1) "три"
2) "1"
3) "два"
4) "1"