spop
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 |
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
- AOF record
spop myset
*3
$4
SREM
$5
myset
$1
B
$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
답글이 올라오면 이메일로 알려드리겠습니다.
