亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

ディレクトリ 検索
Cluster cluster addslots(集群 槽位) cluster count failure reports(集群計數(shù)失敗報告) cluster countkeysinslot cluster delslots cluster failover cluster forget cluster getkeysinslot cluster info cluster keyslot(集群鍵槽) cluster meet cluster nodes(集群節(jié)點) cluster replicate(集群復制) cluster reset(集群重置) cluster saveconfig cluster set config epoch cluster setslot cluster slaves cluster slots readonly readwrite Connection auth echo ping quit select swapdb Geo geoadd geodist geohash geopos georadius georadiusbymember Hashes hdel hexists hget hgetall hincrby hincrbyfloat hkeys hlen hmget hmset hscan hset hsetnx hstrlen hvals HyperLogLog pfadd pfcount pfmerge Keys del dump exists expire expireat keys migrate move object persist pexpire pexpireat pttl randomkey rename renamenx restore scan sort touch ttl type unlink wait Lists blpop brpop brpoplpush lindex linsert llen lpop lpush lpushx lrange lrem lset ltrim rpop rpoplpush rpush rpushx Pub/Sub psubscribe publish pubsub punsubscribe subscribe unsubscribe Scripting eval evalsha script debug script exists script flush script kill script load Server bgrewriteaof bgsave client getname client kill client list client pause client reply client setname command command count command getkeys command info config get config resetstat config rewrite config set dbsize debug object debug segfault flushall flushdb info lastsave monitor role save shutdown slaveof slowlog time Sets sadd scard sdiff sdiffstore sinter sinterstore sismember smembers smove spop srandmember srem sscan sunion sunionstore Sorted Sets zadd zcard zcount zincrby zinterstore zlexcount zrange zrangebylex zrangebyscore zrank zrem zremrangebylex zremrangebyrank zremrangebyscore zrevrange zrevrangebylex zrevrangebyscore zrevrank zscan zscore zunionstore Strings append bitcount bitfield bitop bitpos decr decrby get getbit getrange getset incr incrby incrbyfloat mget mset msetnx psetex set setbit setex setnx setrange strlen Transactions discard exec multi unwatch watch
テキスト

SRANDMEMBER key [count]

自1.0.0起可用。

時間復雜度:沒有計數(shù)參數(shù)O(1),否則O(N)其中N是通過的計數(shù)的絕對值。

當僅用key參數(shù)調用時,從存儲在的設置值返回一個隨機元素key。

從 Redis 版本2.6開始,當使用附加count參數(shù)調用時,如果為正值,則返回count 不同元素的數(shù)組count。如果調用負值,count則行為會發(fā)生更改,并且該命令可以多次返回相同的元素。在這種情況下,返回元素的數(shù)量是指定的絕對值count。

當僅用關鍵參數(shù)調用時,操作與 SPOP 類似,但 SPOP 也會從集合中刪除隨機選擇的元素,SRANDMEMBER 將只返回一個隨機元素而不以任何方式更改原始集合。

返回值

散裝串答復:沒有附加count參數(shù)中的命令返回與所述隨機選擇的元件的散裝回復,或nilkey不存在。數(shù)組回復:當count傳遞附加參數(shù)時,該命令返回一個元素數(shù)組,或者當一個空數(shù)組key不存在時。

例子

redis>  SADD myset one two three (integer) 3 

redis>  SRANDMEMBER myset "three" 

redis>  SRANDMEMBER myset 2 1) "two" 2) "three" 

redis>  SRANDMEMBER myset -5 1) "one" 2) "one" 3) "one" 4) "two" 5) "two"

計數(shù)通過時的行為規(guī)范

當一個 count 參數(shù)被傳遞并且是肯定的時候,這些元素被返回,就好像每個被選中的元素都被從集合中移除一樣(比如提取賓果游戲中的數(shù)字)。但是元素不會從 Set 中刪除。所以基本上:

  • 沒有重復的元素被返回。

  • 如果 count 大于 Set 內部的元素數(shù)量,則該命令將只返回整個集合而不包含其他元素。

如果計數(shù)是負數(shù),則行為會發(fā)生變化,并且提取會發(fā)生,就好像在每次提取后再次將提取的元素放入包中一樣,因此可能會重復元素,并且總是會返回請求的元素數(shù)量,因為我們可以重復相同的元素元素一次又一次,除了一個空的 Set(不存在的鍵),它總是會產(chǎn)生一個空數(shù)組。

返回元素的分配

當集合中的元素數(shù)量很少時,返回元素的分布還遠未完善,這是因為我們使用了一個近似的隨機元素函數(shù),并不能真正保證良好的分布。

使用的算法在 dict.c 中實現(xiàn),對哈希表桶進行采樣以找到非空的桶。一旦找到一個非空的桶,因為我們在我們的哈希表實現(xiàn)中使用鏈接,所以會檢查桶內的元素數(shù)量并選擇一個隨機元素。

這意味著如果在整個散列表中有兩個非空桶,并且一個有三個元素,而另一個只有一個,那么在桶中單獨存在的元素將返回的概率要高得多。

前の記事: 次の記事: