您的位置:首页 > 数据库 > Redis

010redis中数据的排序(sort)

2015-10-12 18:04 423 查看
1、sort命令可以对list,set,sorted sest 集合中的元素进行排序
1.1 格式: SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC]
[ALPHA] [STORE destination]

(1)sort key [desc] [limit offset count]

(2)by 参考键(参考键可以是字符串类型或者是hash类型的某个字段,hash类型的格式为:键名->字段名)

如果参考键中不带*号则不排序

如果某个元素的参考键不存在,则默认参考键的值为0

1.2 扩展 get参数

get参数的规则和by参数的规则一样
get # (返回元素本身的值)

1.3 扩展 store参数

使用store 参数可以把sort的排序结果保存到指定的列表中

1.4 性能优化

(1)尽可能减少待排序键中元素的数量
(2)使用limit参数只获取需要的数据
(3)如果要排序的数据数量很大,尽可能使用store参数将结果缓存。

2、数据初始化
2.1 lpush命令
格式: LPUSH key value [value ...]
lpush sortlist 2 1 3

2.2 set命令
格式:SET key value [EX seconds] [PX milliseconds] [NX|XX]
set score:1 50

set score:2 100

set score:3 -10

3、验证
3.1 sort sortlist by score:* desc

3.2 127.0.0.1:6379> sort sortlist by score:* desc limit 0 2

1) "2"

2) "1"

按照参考建排序,并分片方式输出。本案例中统计排名前2的数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: