• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

redis当中的排序

redis 海叔叔 23小时前 5次浏览 已收录 0个评论

redis的SORT命令可以对列表键,集合键或者有序集合键的值进行排序,其底层实现如下:
SORT numbers
1. 创建一个和参数列表等长的数组,该数组的每一项都是redisSortObject结构

2. 遍历数组,将各个数组的obj指针分别指向numbers列表的各个项,构成obj指针和列表项之间的一对一关系
3. 遍历数组,将各个obj指针所指向的列表项转换成一个double类型的浮点数,并将这个浮点数保存在相应数组项的u.score里面
4. 根据数组项u.score属性的值,对数组进行数字值排序,排序后的数组项按照u.score属性从小到大排列
5. 遍历数组,将各个数组想的obj指针所指向的列表项作为排序结果返回给客户端
其中各种命令的选项,均在score和cmpobj上面做文章,obj始终指向要被排序的对象
其选项的执行顺序为(选项的输入先后顺序不影响执行顺序):
1. 排序:ALPHA, ASC, DESC, BY
2. 限制排序结果集的长度
2. 获取外部键
4. 保存排序结果集STORE
5. 向客户端返回排序结果


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址