Redis set型のデータをランダムに削除する

Redis set型のデータをランダムに削除する

Redisで、set型のデータをランダムに削除する手順を記述してます。「spop」にキー名を指定することでランダムに削除されます。ここでは実際に実行した結果を掲載してます。

環境

  • OS CentOS Stream release 9
  • Redis 7.0.5

手順

set型のデータをランダムに削除するには、「spop」を使用します。

spop キー名

実際に、使用してランダムに削除してみます。

先に値を設定しておきます。

127.0.0.1:6379> sadd s1 "abc"
(integer) 1

127.0.0.1:6379> sadd s1 "def"
(integer) 1

127.0.0.1:6379> sadd s1 "ghi"
(integer) 1

127.0.0.1:6379> sadd s1 "jkl"
(integer) 1

127.0.0.1:6379> sadd s1 "mno"
(integer) 1

ランダムに削除してみます。

127.0.0.1:6379> spop s1
"ghi"

127.0.0.1:6379> smembers s1
1) "mno"
2) "def"
3) "jkl"
4) "abc"

削除されていることが確認できます。

キーが削除されていれば「nil」が返ります。

127.0.0.1:6379> spop s2
(nil)