rand
Englisch [rænd] Amerikanisch [rænd]
n Die Polsterung zwischen Ferse und Sohle, Kante
Plural: rands rand
member
Englisch[ˈmembə(r)] Amerikanisch [ ˈmɛmbɚ]
n.Mitglied; Molekül; Körperteil (insbesondere ein Arm oder ein Bein);
redis SRANDMEMBER-Befehl Syntax
Funktion: Wenn bei der Ausführung des Befehls nur der Schlüsselparameter angegeben wird, wird ein zufälliges Element in der Sammlung zurückgegeben.
Syntax: SRANDMEMBER-Schlüssel [Anzahl]
Anweisungen: Ab Redis 2.6-Version akzeptiert der Befehl SRANDMEMBER den optionalen Zählparameter: Wenn Anzahl eine positive Zahl und kleiner als die festgelegte Basis ist, gibt der Befehl a zurück Wert mit Anzahl Ein Array von Elementen, wobei die Elemente im Array unterschiedlich sind. Wenn count größer oder gleich der Sammlungskardinalität ist, wird die gesamte Sammlung zurückgegeben. Wenn count negativ ist, gibt der Befehl ein Array zurück, dessen Elemente mehrmals vorkommen können, und die Länge des Arrays ist der absolute Wert von count . Diese Operation ähnelt SPOP, aber SPOP entfernt zufällige Elemente aus der Sammlung und gibt sie zurück, während SRANDMEMBER nur zufällige Elemente zurückgibt, ohne Änderungen an der Sammlung vorzunehmen.
Verfügbare Versionen: >= 1.0.0
Zeitliche Komplexität: O(1), wenn nur Schlüsselparameter bereitgestellt werden. Wenn der Zählparameter angegeben wird, ist er O(N), wobei N die Anzahl der Elemente im zurückgegebenen Array ist.
Rückgabe: Wenn nur der Schlüsselparameter angegeben wird, wird ein Element zurückgegeben. Wenn die Sammlung leer ist, wird Null zurückgegeben. Wenn der count-Parameter angegeben wird, wird ein Array zurückgegeben. Wenn die Sammlung leer ist, wird ein leeres Array zurückgegeben.
redis SRANDMEMBER-Befehl Beispiel
# 添加元素 redis> SADD fruit apple banana cherry (integer) 3 # 只给定 key 参数,返回一个随机元素 redis> SRANDMEMBER fruit "cherry" redis> SRANDMEMBER fruit "apple" # 给定 3 为 count 参数,返回 3 个随机元素 # 每个随机元素都不相同 redis> SRANDMEMBER fruit 3 1) "apple" 2) "banana" 3) "cherry" # 给定 -3 为 count 参数,返回 3 个随机元素 # 元素可能会重复出现多次 redis> SRANDMEMBER fruit -3 1) "banana" 2) "cherry" 3) "apple" redis> SRANDMEMBER fruit -3 1) "apple" 2) "apple" 3) "cherry" # 如果 count 是整数,且大于等于集合基数,那么返回整个集合 redis> SRANDMEMBER fruit 10 1) "apple" 2) "banana" 3) "cherry" # 如果 count 是负数,且 count 的绝对值大于集合的基数 # 那么返回的数组的长度为 count 的绝对值 redis> SRANDMEMBER fruit -10 1) "banana" 2) "apple" 3) "banana" 4) "cherry" 5) "apple" 6) "apple" 7) "cherry" 8) "apple" 9) "apple" 10) "banana" # SRANDMEMBER 并不会修改集合内容 redis> SMEMBERS fruit 1) "apple" 2) "cherry" 3) "banana" # 集合为空时返回 nil 或者空数组 redis> SRANDMEMBER not-exists (nil) redis> SRANDMEMBER not-eixsts 10 (empty list or set)