Redis開發運維實踐專題功能之排序
3.1 排序
redis支持對list,set和sorted set元素的排序。排序命令是sort 完整的命令格式如下:
+
SORT key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] [STORE dstkey]
複雜度為O(N+M*log(M))。(N是集合大小,M 為返回元素的數量)
說明:
- [ASC|DESC] [ALPHA]: sort默認的排序方式(asc)是從小到大排的,當然也可以按照逆序或者按字符順序排。
- [BY pattern] : 除了可以按集合元素自身值排序外,還可以將集合元素內容按照給定pattern組合成新的key,並按照新key中對應的內容進行排序。例如:
- 127.0.0.1:6379sort watch:leto by severtity:* desc
- [GET pattern]:可以通過get選項去獲取指定pattern作為新key對應的值,get選項可以有多個。例如:127.0.0.1:6379sort watch:leto by severtity: get severtity:。 對於Hash的引用,采用->,例如:sort watch:leto get # get bug:*->priority。
- [LIMIT start count] 限定返回結果的數量。
- [STORE dstkey] 把排序結果緩存起來
Redis開發運維實踐指南
本文為《Redis開發運維實踐指南》內容,該書作者為黃鵬程,已授權雲棲社區轉載。
最後更新:2017-05-08 10:01:37