[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参数将结果缓存。
SORT命令可以对列表类型,集合类型和有序集合类型键进行排序,并且可以完成与关系数据库中的连接查询相类似的任务.在对有序集合进行排序时会忽略元素的分数,只针对自身的值进行排序.
DESC:该参数可以实现将元素按照从大到小的顺序排序
LIMIT参数可以来返回指定范围的结果.
BY
使用该参数SORT命令将不再依据元素自身的值进行排序,而是对每个元素使用元素的值替换参考键中的第一个"*"并获取其值,然后依据该值对元素排序
GET参数:该参数不影响排序,它的作用是使SORT命令的返回结果不再是元素自身的值,而是GET参数中指定的键值.GET也需要使用"*"做占位符.下面一个例子实现了再排序后直接返回ID对应的文章标题
GET可以使用多个,如果还需要返回元素本身使用GET
#
STORE参数:该参数可以保存排序结果
性能优化
SORT是Redis中最强大最复杂的命令之一,如果使用不好很容易成为性能瓶颈。Redis在排序前会建立一个长度为n的容器来存储待排序的元素,虽然是一个临时的过程,但如果同时进行较多的大数据排序操作则会严重影响性能。
所以开发中使用SORT命令时需要注意以下几点:
(1)尽可能减少待排序键中元素的数量
(2)使用LIMIT参数只获取需要的数据
(3)如果要排序的数据数量较大,尽可能使用STORE参数将结果缓存。
相关文章推荐
- php对redis的zset(有序集合)操作
- redis有序集合orderset操作
- python对redis的常用操作 下 (无序集合,有序集合)
- Redis有序集合类型的操作_动力节点Java学院整理
- go操作redis的有序集合(zset)
- Redis有序集合数据类型操作命令
- 四:redis的sets类型相关操作(有序和无序集合)
- redis基础简介(二)- hash(哈希)、set(集合)、sorted set(有序集合)以及键操作
- Python操作Redis之有序集合
- Redis简单入门六——通过事务操作有序集合(sorted set)
- Redis 中有序集合的操作
- Redis初探06——Redis的有序集合sorted set类型及操作
- Python 操作redis有序集合(sorted set)
- Redis 集合 set 操作, 有序集合
- NoSQL之Redis对zset(有序集合)数据类型的操作
- Redis有序集合类型的操作
- Redis有序集合数据类型操作命令
- redis 学习手册之有序集合数据类型sorted-sets操作
- (六)Redis有序集合Sorted set操作
- 四:redis的sets类型 - 相关操作(有序和无序集合)