Redis 範囲を指定してスコアを取得する

Redisで、範囲を指定してスコアを取得する手順を記述してます。「zrange」で可能です。存在しない範囲を指定すると結果は「空」となります。
環境
- OS CentOS Stream release 9
- Redis 7.0.5
手順
範囲を指定してスコアを取得するには、「zrange」を使用します。
zrange キー名 範囲(0から) 範囲
実際に、スコアを設定してから範囲を指定して取得してみます。
127.0.0.1:6379> zadd zs1 1 a 2 b 3 c 4 d 5 e
(integer) 5
取得します。
127.0.0.1:6379> zrange zs1 0 2
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> zrange zs1 2 4
1) "c"
2) "d"
3) "e"
範囲を指定して取得されていることが確認できます。
範囲を超えると全て取得されます。
127.0.0.1:6379> zrange zs1 0 9
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
「0」から「-1」を指定しても全て取得されます。
127.0.0.1:6379> zrange zs1 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
存在しない範囲
存在しない範囲を指定すると、「空」が返ります。
127.0.0.1:6379> zrange zs1 5 9
(empty array)
スコアも取得
「withscores」を使用すると、スコアも取得することも可能です。
127.0.0.1:6379> zrange zs1 0 2 withscores
1) "a"
2) "1"
3) "b"
4) "2"
5) "c"
6) "3"
-
前の記事
Oracle Database プロファイルで設定した最大セッション数を変更する 2023.08.01
-
次の記事
sqlite 日付から初年度や初月の値を求める 2023.08.02
コメントを書く