专题功能 - 排序
优质
小牛编辑
143浏览
2023-12-01
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] 把排序结果缓存起来