Redis 最小値と最大値を指定してスコアのメンバーを取得する
Redisで、最小値と最大値を指定してスコアのメンバーを取得する手順を記述してます。「zrangebyscore」にキー名を指定して最小と最大の値を指定することで簡単に取得できます。
環境
- OS CentOS Stream release 9
- Redis 7.0.4
手順
最小値と最大値を指定してスコアのメンバーを取得するには、「zrangebyscore」を使用します。
zrangebyscore キー名 最小値 最大値
実際に、スコアを設定してから取得してみます。
127.0.0.1:6379> zadd zs1 1 a 3 b 5 c 7 d 9 e
(integer) 5
最小値と最大値を指定して指定して取得します。
127.0.0.1:6379> zrangebyscore zs1 0 3
1) "a"
2) "b"
127.0.0.1:6379> zrangebyscore zs1 0 5
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> zrangebyscore zs1 2 4
1) "b"
スコアの値が最小値と最大値の範囲で取得されていることが確認できます。
「inf」を指定すると、全て取得されます。
127.0.0.1:6379> zrangebyscore zs1 -inf +inf
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
スコアも取得
「withscores」を使用すると、スコアも取得することが可能です。
127.0.0.1:6379> zrangebyscore zs1 0 5 withscores
1) "a"
2) "1"
3) "b"
4) "3"
5) "c"
6) "5"
件数を指定
「limit」を使用すると取得する件数を指定することができます。
127.0.0.1:6379> zrangebyscore zs1 -inf +inf limit 0 3
1) "a"
2) "b"
3) "c"
-
前の記事
javascript エラー「Uncaught TypeError: xxx.animate is not a function」の解決方法 2022.12.09
-
次の記事
Ruby 配列がソートされているかを判定する 2022.12.09
コメントを書く