SPOP

Apply for Redis Developer Course Redis Regular Inspection / Technical Support Redis Enterprise Server

Remove and return a random member from a set

Usage is spop key.
It pops a random member. The member is removed from the set.

Example

Command>sadd myset "member_1" "member_2" "member_3"
Result>3
Command>spop myset
Result> member_2    member_2 was returned at random
Command>smembers myset
Result> 1) member_3
1) member_1
Command>spop myset
Result> member_1

View animation



count is available since version 3.2

Usage is spop key count.
It pops count members.

Example

Command>sadd myset "member_1" "member_2" "member_3"
Result>3
Command>spop myset 2
Result> member_2
Result> member_1


AOF

SPOP gets a random value and deletes it from the original set. That raises a question: if SPOP is written to AOF and the server restarts, will the same value be deleted, or will some other random value be chosen and deleted? If the latter, data consistency would break, so that must not happen. The answer is that Redis does not record SPOP in AOF; it records the selected and deleted data like an SREM command. Therefore data consistency is not broken.

  • Input
  • spop myset
  • AOF record
  • *3
    $4
    SREM
    $5
    myset
    $1
    B


Syntax

SPOP key [count]

  • Available since version 1.0.0.
  • Time complexity is O(1).
  • count is available since version 3.2.
Related commands SPOP, DEL, LREM, ZREM, HDEL
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

<< SMOVE SPOP SRANDMEMBER >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.