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

[Redis] 有序集合的操作

2017-02-12 20:54 176 查看
有序集合常见的操作是大数据排序,比如游戏玩家排行榜,很少或需要获得键中的全部数据.下面我们就一起来看看如何对有序集合进行操作

 
SORT命令可以对列表类型,集合类型和有序集合类型键进行排序,并且可以完成与关系数据库中的连接查询相类似的任务.在对有序集合进行排序时会忽略元素的分数,只针对自身的值进行排序.
     DESC:该参数可以实现将元素按照从大到小的顺序排序
     LIMIT参数可以来返回指定范围的结果.
     BY 
使用该参数SORT命令将不再依据元素自身的值进行排序,而是对每个元素使用元素的值替换参考键中的第一个"*"并获取其值,然后依据该值对元素排序
 


     GET参数:该参数不影响排序,它的作用是使SORT命令的返回结果不再是元素自身的值,而是GET参数中指定的键值.GET也需要使用"*"做占位符.下面一个例子实现了再排序后直接返回ID对应的文章标题

   


GET可以使用多个,如果还需要返回元素本身使用GET
#
STORE参数:该参数可以保存排序结果

性能优化
SORT是Redis中最强大最复杂的命令之一,如果使用不好很容易成为性能瓶颈。Redis在排序前会建立一个长度为n的容器来存储待排序的元素,虽然是一个临时的过程,但如果同时进行较多的大数据排序操作则会严重影响性能。
所以开发中使用SORT命令时需要注意以下几点:
(1)尽可能减少待排序键中元素的数量
(2)使用LIMIT参数只获取需要的数据
(3)如果要排序的数据数量较大,尽可能使用STORE参数将结果缓存。       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: