码迷,mamicode.com
首页 > 编程语言 > 详细

Redis5排序

时间:2019-10-07 23:15:37      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:tle   缓存   用法   可变   col   font   自身   info   mysql   

1:对集合类型的元素进行排序

元素的值必须都是数字和浮点类型

sort temp

 

在对有序集合类型排序时会忽略元素的分数,只针对元素自身的值进行排序

除了可以排列数字外,SORT命令还可以通过ALPHA参数实现按照字典顺序排列非数字元素

 sort abc  ALPHA

 

即可对字母和数字混合的进行排序   数字>小写>大写

 

2:排序默认的是从小到大, DESC 参数 即可变成从大到小

 sort abc  ALPHA DESC

 

3:分页 和mysql 是一样的

 sort abc  ALPHA DESC LIMIT 0 2

 

 

如果键tag:php集合下存的是属于标签PHP的文章的ID,现在想根据这些文章的创建时间排序怎么办?

 

by参数

用法

sort tag:php by post:*->created_at desc

 

tag:php 键存的都是文章ID

技术图片

 

post:* 这些都是Hash类型里头都有字段created_by

 技术图片

 

 

 除了hash类型指定字段也可以直接就是string 类型

sort tag:php by post_created_at:* desc

 

 

当两个键的值是一样的时候,就会比较两个键的大小

只能有一个by参数

 

如果我排序的时候我还想顺便获取文章的标题

GET 参数

sort tag:php by post:*->created_at desc get post:*->title

 

可以get 多个参数,如果参数不存在会存NULL

如果想要顺便返回文章的ID get # 就可以了

sort tag:php by post:*->created_at desc get post:*->title  get #

 

这个也是带分页功能的

技术图片

sort tag:php by post:*->created_at desc get post:*->title  get # limit 0 2

 

 

STORE 参数

如果想要把排序的结果保存到某个键中, 排序是很耗资源的

sort tag:php by post:*->created_at desc get post:*->title  get # store result.store

 

result.store键是一个list 类型,如果存在键直接覆盖


性能问题:
Sort 是redis中最强大复杂的命令之一
(1)尽可能减少待排序键中元素的数量(使N尽可能小)。
(2)使用LIMIT参数只获取需要的数据(使M尽可能小)。
(3)如果要排序的数据数量较大,尽可能使用STORE参数将结果缓存。

 

 
  • 你总不小心把倩影靠在月亮上面
  • 万顷月光舞动着你优美的梦幻

!!!

Redis5排序

标签:tle   缓存   用法   可变   col   font   自身   info   mysql   

原文地址:https://www.cnblogs.com/wlphp/p/11632684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!