11 番目の追加がリストから 1 番目をプッシュする redis ソート済みセットに、最新の 10 個の追加を保存したいとします。10 アイテムに達するまでは、通常どおりに成長します。
追加ごとに自分で長さを確認し、最初の要素を削除する必要がありますか?
11 番目の追加がリストから 1 番目をプッシュする redis ソート済みセットに、最新の 10 個の追加を保存したいとします。10 アイテムに達するまでは、通常どおりに成長します。
追加ごとに自分で長さを確認し、最初の要素を削除する必要がありますか?
長さを確認する必要はないと思いますが、自分でキャップする必要があります。
ZREMRANGEBYRANK [KEY] 0 -10
最初のメンバーを ZSet から削除する必要がある場合は、次のコマンドを使用できます。
ZREMRANGEBYRANK key 0 0
スコア 1 で ZADD を使用して、11 番目の要素を ZSet の最初のメンバーとしてソートすることもできます。
ZADD key 1 member
元:
redis 127.0.0.1:6379> ZADD myzset 1 one
(整数) 1
redis 127.0.0.1:6379> ZADD myzset 1 two
(整数) 1
redis 127.0.0.1:6379> ZRANGE myzset 0 -1 withscores
1) "one"
2) "1"
3) "2"
4) "1"
redis 127.0.0.1:6379> ZREMRANGEBYRANK myzset 0 0
(整数) 1
redis 127.0.0.1:6379> ZADD myzset 1 three
(整数) 1
redis 127.0.0.1:6379> ZRANGE myzset 0 -1 withscores
1) "3"
2) "1"
3) "2"
4) "1"