Redis 指定した範囲で値を取得する

Redis 指定した範囲で値を取得する

Redisで、指定した範囲で値を取得する手順を記述してます。「getrange」でkey名と開始位置と終了位置を指定します。ここでは、実際に実行した結果を掲載してます。

環境

  • OS CentOS Stream release 9
  • Redis 7.0.5

手順

指定した範囲で値を取得するには、「getrange」を使用します。
開始位置は「0」からとなります。

getrange key名 開始位置 終了位置

実際に、使用して取得してみます。

127.0.0.1:6379> set key1 "abcde"
OK

127.0.0.1:6379> getrange key1 0 3
"abcd"

127.0.0.1:6379> getrange key1 1 3
"bcd"

取得されていることが確認できます。

マイナスを指定

マイナスを指定した場合は、終了位置の場合は、終了位置からカウントされます。

127.0.0.1:6379> getrange key1 1 -1
"bcde"

127.0.0.1:6379> getrange key1 1 -2
"bcd"

127.0.0.1:6379> getrange key1 1 -3
"bc"

127.0.0.1:6379> getrange key1 1 -4
"b"

127.0.0.1:6379> getrange key1 1 -5
""

127.0.0.1:6379> getrange key1 1 -6
""

開始位置の場合は、最終位置からマイナスで指定した範囲で値が取得されるようです。

127.0.0.1:6379> getrange key1 -1 5
"e"

127.0.0.1:6379> getrange key1 -1 4
"e"

127.0.0.1:6379> getrange key1 -1 3
""

127.0.0.1:6379> getrange key1 -2 5
"de"

127.0.0.1:6379> getrange key1 -2 4
"de"

127.0.0.1:6379> getrange key1 -2 3
"d"

127.0.0.1:6379> getrange key1 -2 2
""