SPOP

<< SMOVE SRANDMEMBER >>

集合から無作為に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コマンドと一緒に記録します。 したがって、データの整合性が反しません。

  • 入力
  • spop myset
  • AOF 記録
  • *3
    $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

コマンドを実習してみたければ、ここをクリックして Redis Web Client を実行してください。


<< SMOVE SPOP SRANDMEMBER >>

質問したり、レスを見るためには、クリックしてください。  コメント :    クリック件数:

Email 返事がかかってなれば、メールでお知らせします。