spop
SPOP
Redis 開発者教育 Redis Developer Course |
Redis 定期点検/技術支援 Redis Technical Support |
Redis エンタープライズサーバ Redis Enterprise Server |
---|
集合から無作為にmemberを取り出してきだ
使い方は spop key です。
無作為にmemberを取り出します。 集合でmemberは削除されます。
Example
コマンド> | sadd myset "メンバー_1" "メンバー_2" "メンバー_3" |
結果> | 3 |
コマンド> | spop myset |
結果> | メンバー_2 無作為にメンバー_2が出た |
コマンド> | smembers myset |
結果> |
1) メンバー_3 1) メンバー_1 |
コマンド> | spop myset |
結果> | メンバー_1 |
countはバージョン3.2から使用可能
使い方は spop key countです。
countだけに、取り出します。
Example
コマンド> | sadd myset "メンバー_1" "メンバー_2" "メンバー_3" |
結果> | 3 |
コマンド> | spop myset 2 |
結果> | メンバー_2 |
結果> | メンバー_1 |
AOF
SPOPコマンドは、無作為に値を取り出してきて原本から削除します。 そのとき、ここで一つ疑問点が発生します。 AOFにSPOPが記録し、サーバを再開した、同様の値段が削除されましょうか。 それとも無作為に何の値や選択されて削除されましょうか。 もし何の値や削除されれば、データの整合性が反します。 答えはRedisはAOFにSPOPを記録しておらず選択されて削除されたデータをSREMコマンドと一緒に記録します。 したがって、データの整合性が反しません。
- 入力
- AOF 記録
spop myset
*3
$4
SREM
$5
myset
$1
B
$4
SREM
$5
myset
$1
B
コマンド
SPOP key [count]
- このコマンドは、version 1.0.0 から使用することができます。
- 論理的処理の所要時間はO(1)です。
- countはバージョン3.2から使用可能です。
関連コマンド | SPOP, DEL, LREM, ZREM, HDEL |
Clients for Java | Jedis, Lettuce, Redisson | Clients for C | Hiredis |
<< SMOVE | SPOP | SRANDMEMBER >> |
---|
クリック件数 :
Email
返事がかかってなれば、メールでお知らせします。