From d71fd6264d58795c50b9350d7c39677b671e0896 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 17 Jul 2021 09:34:48 +0200 Subject: Merging upstream version 1.9.4. Signed-off-by: Daniel Baumann --- iredis/data/commands/spop.md | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'iredis/data/commands/spop.md') diff --git a/iredis/data/commands/spop.md b/iredis/data/commands/spop.md index 76b1c89..057a025 100644 --- a/iredis/data/commands/spop.md +++ b/iredis/data/commands/spop.md @@ -1,14 +1,26 @@ -Removes and returns one or more random elements from the set value store at +Removes and returns one or more random members from the set value store at `key`. This operation is similar to `SRANDMEMBER`, that returns one or more random elements from a set but does not remove it. -The `count` argument is available since version 3.2. +By default, the command pops a single member from the set. When provided with +the optional `count` argument, the reply will consist of up to `count` members, +depending on the set's cardinality. @return -@bulk-string-reply: the removed element, or `nil` when `key` does not exist. +When called without the `count` argument: + +@bulk-string-reply: the removed member, or `nil` when `key` does not exist. + +When called with the `count` argument: + +@array-reply: the removed members, or an empty array when `key` does not exist. + +@history + +- `>= 3.2`: Added the `count` argument. @examples @@ -24,18 +36,8 @@ SPOP myset 3 SMEMBERS myset ``` -## Specification of the behavior when count is passed - -If count is bigger than the number of elements inside the Set, the command will -only return the whole set without additional elements. - ## Distribution of returned elements Note that this command is not suitable when you need a guaranteed uniform distribution of the returned elements. For more information about the algorithms -used for SPOP, look up both the Knuth sampling and Floyd sampling algorithms. - -## Count argument extension - -Redis 3.2 introduced an optional `count` argument that can be passed to `SPOP` -in order to retrieve multiple elements in a single call. +used for `SPOP`, look up both the Knuth sampling and Floyd sampling algorithms. -- cgit v1.2.3