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

目錄 搜尋
Cluster cluster addslots(集群 槽位) cluster count failure reports(集群計(jì)數(shù)失敗報(bào)告) cluster countkeysinslot cluster delslots cluster failover cluster forget cluster getkeysinslot cluster info cluster keyslot(集群鍵槽) cluster meet cluster nodes(集群節(jié)點(diǎn)) cluster replicate(集群復(fù)制) 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
文字

SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]

自1.0.0起可用。

時(shí)間復(fù)雜度: O(N + M * log(M))其中N是列表中要排序的元素的數(shù)量,M是返回元素的數(shù)量。當(dāng)元素未被排序時(shí),復(fù)雜度當(dāng)前為O(N),因?yàn)樵谙乱粋€(gè)版本中將會(huì)避免復(fù)制步驟。

返回或存儲(chǔ)包含元素的列表,設(shè)置或排序集合的key。默認(rèn)情況下,排序是數(shù)字,元素通過將其值解釋為雙精度浮點(diǎn)數(shù)進(jìn)行比較。這是最簡(jiǎn)單的SORT形式:

SORT mylist

假設(shè)mylist是數(shù)字列表,該命令將返回相同的列表,其中的元素從小到大排序。為了將數(shù)字從大到小排序,請(qǐng)使用DESC修飾符:

SORT mylist DESC

當(dāng)mylist包含字符串值并且您想按字典順序?qū)λ鼈冞M(jìn)行排序時(shí),請(qǐng)使用ALPHA修飾符:

SORT mylist ALPHA

Redis支持UTF-8,假設(shè)您正確設(shè)置了!LC_COLLATE環(huán)境變量。

使用LIMIT修飾符可以限制返回元素的數(shù)量。該修飾符接受offset參數(shù),指定要跳過的元素?cái)?shù)和count參數(shù),指定從開始處返回的元素?cái)?shù)offset。以下示例將返回10個(gè)排序版本的mylist元素,從元素0開始(offset從零開始):

SORT mylist LIMIT 0 10

幾乎所有的修飾符都可以一起使用。以下示例將返回前5個(gè)元素,按字典順序降序排列:

SORT mylist LIMIT 0 5 ALPHA DESC

通過外部鍵排序

有時(shí)候你想使用外部鍵作為權(quán)重進(jìn)行排序,而不是比較列表,設(shè)置或排序集中的實(shí)際元素。比方說,清單mylist中包含的元素1,23表示存儲(chǔ)在對(duì)象的唯一ID object_1object_2object_3。當(dāng)這些對(duì)象都有關(guān)聯(lián)的存儲(chǔ)的權(quán)重weight_1weight_2并且weight_3,排序可以指示使用這些權(quán)重排序mylist用以下語(yǔ)句:

SORT mylist BY weight_*

BY選項(xiàng)采用weight_*用于生成用于排序的鍵的模式(在本例中相同)。獲得這些鍵名稱代的第一次出現(xiàn)*在列表中的元件的實(shí)際值(1,2并且3在這個(gè)例子中)。

跳過排序元素

BY選項(xiàng)也可以采用不存在的鍵,這會(huì)導(dǎo)致  SORT 跳過排序操作。如果您想檢索外部密鑰(請(qǐng)參閱GET下面的選項(xiàng)),而沒有排序開銷,這很有用。

SORT mylist BY nosort

檢索外部密鑰

我們前面的例子只返回排序后的 ID。在某些情況下,以獲得實(shí)際的對(duì)象,而不是它們的 ID(更多有用的object_1,object_2object_3)。根據(jù)列表中的元素檢索外鍵,可以使用以下命令完成 set 或 sorted set:

SORT mylist BY weight_* GET object_*

GET選項(xiàng)可以多次使用,以便為原始列表,集合或排序集合的每個(gè)元素獲取更多的鍵。

GET元素本身也可以使用特殊模式#

SORT mylist BY weight_* GET object_* GET #

存儲(chǔ)SORT操作的結(jié)果

默認(rèn)情況下,SORT 將排序后的元素返回給客戶端。使用該STORE選項(xiàng),結(jié)果將作為列表存儲(chǔ)在指定的密鑰中,而不是返回給客戶端。

SORT mylist BY weight_* STORE resultkey

使用一個(gè)有趣的模式SORT ... STORE在于將 EXPIRE 超時(shí)與結(jié)果鍵相關(guān)聯(lián),以便在可以緩存 SORT 操作結(jié)果一段時(shí)間的應(yīng)用程序中使用。其他客戶端將使用緩存列表,而不是為每個(gè)請(qǐng)求調(diào)用 SORT。當(dāng)密鑰超時(shí)時(shí),可以通過SORT ... STORE再次調(diào)用來創(chuàng)建緩存的更新版本。

請(qǐng)注意,要正確實(shí)現(xiàn)此模式,避免多個(gè)客戶端同時(shí)重建緩存很重要。這里需要某種鎖定(例如使用 SETNX)。

Using hashes in BY and GET

使用以下語(yǔ)法可以使用BYGET選擇哈希字段:

SORT mylist BY weight_*->fieldname GET object_*->fieldname

該字符串->用于將密鑰名稱與散列字段名稱分開。如上文所述,密鑰被替換,并且存儲(chǔ)在結(jié)果密鑰中的散列被訪問以檢索指定的散列字段。

返回值

數(shù)組回復(fù):在不傳遞store選項(xiàng)的情況下,該命令返回一個(gè)有序元素列表。整數(shù)回復(fù):當(dāng)store指定該選項(xiàng)時(shí),該命令返回目標(biāo)列表中排序元素的數(shù)量。

上一篇: 下一篇: