和set类型一样,sorted set也是string类型元素的集合,因为元素是有序的,所以使用有序集合你可以以非常快的速度(O(log(N)))添加,删除和更新元素,它也很擅长排序。

应用场景:获取网站中点击量最高的前n篇文章,等等。

为了详细的解释下面每个命令,先拟定一个应用场景;假设用sorted set记录网站每篇文章的点击量,如果key为artHits,则:

1.【 zadd key v k 】 往key中添加一个元素,k为键,v为值。如:zadd artHits 99 12表示id为12的文章点击量为99次。

2.【 zrange key start end 】 根据v的值由小到大进行排序来获得start到end之间的元素。

注:0表示第一个元素,-1表示最后一个元素,-2表示倒数第二个元素,以此类推,如果要获取第一个到倒数第三个之间的元素,命令为:zrange key 0 -3。

3.【 zrevrange key start end 】 同上,根据v的值由大到小进行排序来获得start到end之间的元素。可以轻松取出点击量最高的前n篇文章。

4.【 zremrangebyrank key start end 】 删除集合中的元素。排序的方式为按照v由小到大的顺序,如果要删除key集合中的第一个值,则运行 zremrangebyrank artHits 0 0;删除前3个值:zremrangebyrank artHits 0 2。

5.【 zcard 】 返回key集合中元素的个数。

6.【 zrank key k 】 返回值k在集合key中排第几位,是按照v由小到大的顺序。排第一名返回0,第二返回1,以此类推。

7.【 zrevrank key k 】 同上,不同的是,按照v由大到小的顺序。可以轻松取出点击量最高的文章。

8.【 zscore key k 】 取出集合key中键为k对应的值v。

9.【 zrem key k 】 删除集合中指定元素。

10.【 zincrby key num k 】 给集合key中的元素k加上num,值针对整型。比如 zincrby artHits 3 12,给id为12的文章加上3个点击量。此时zscore artHits 12的结果是99+3为102。

redis有序集合sorted set详解相关推荐

  1. Redis有序集合命令ZREMRANGEBYLEX详解与应用

    Redis有序集合命令ZREMRANGEBYLEX详解与应用 本文是我在Redis中文网翻译团队翻译redis命令的相关内容,也是取得翻译团队同意后在CSDN同步发表 redis.cn翻译团队 也欢迎 ...

  2. Redis有序集合命令ZRANGEBYLEX详解与应用

    Redis有序集合命令ZRANGEBYLEX详解与应用 1 简介 ZRANGEBYLEX 返回指定成员区间内的成员 此指令适用于分数相同的有序集合中 LEX结尾的指令是要求分数必须相同 2 语法 2. ...

  3. Redis 命令--Redis有序集合(sorted set)

    Redis有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分 ...

  4. python set判断一个键是否存在_python redis 有序集合sorted set检查某个键是否存在

    redis有序集合(Sorted Set)命令ZADD ZREM ZCARD ZCOUNT ZSCORE ZINCRBY ZRANGE ZREVRANGE ZRANGEBYSCORE ZREVRANG ...

  5. Redis学习---(11)Redis 有序集合(sorted set)

    Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...

  6. php redis sorted set,Redis 有序集合(sorted set)

    Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...

  7. Redis有序集合(sorted set)使用

    有序集合说明 Redis的有序集合(sorted set),同时具有"有序"和"集合"两种性质,这种数据结构中的每个元素都由一个成员和和一个与成员相关联的分值组 ...

  8. redis有序集合sorted set(zset)数据类型相关命令介绍及使用

    文章目录 简介 添加命令 查询命令 递增类型 递减类型 删除命令 运算命令 skiplist 简介 Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员.不同的是每个元 ...

  9. redis无序集合set类型详解

    redis中的set是string类型的无序集合,set元素最大可以包含2的32次方-1个元素.利用set集合类型,我们可以快速取出n个key之间的并集.交集.差集等,从而轻松解决mysql等数据库不 ...

最新文章

  1. 中国科学院院士骆清铭: “看见”大脑
  2. mysql 逐列读取_mysql – 根据其他列如何使用逐列
  3. try catch finally 关闭流标准的写法
  4. 淘宝api 登录验证
  5. mysql跨服务器链表_MySQL 源码链表的实现
  6. poj2635 同余定理 + 素数筛法
  7. win2008怎么配置php环境,Win2008 PHP 配置环境搭建 教程_PHP教程
  8. spring mvc+myibatis项目大致框架-spring mvc wendang
  9. 论为什么需要软件工程
  10. C#项目班级管理系统
  11. java 小票打印机和触发开钱箱操作
  12. 济南信息工程学校计算机应用技术视频讲坐,技赢未来||济南信息工程学校3专业5项目顺利完成市专业技能抽测...
  13. 即时通讯源码/im源码uniapp基于在线聊天系统附完整搭建部署教程
  14. 小米与泰尔实验室联合发布《多模态技术白皮书》
  15. 传奇3服务器配置文件,分享传奇三架设的全部详细攻略
  16. 烽火2640路由器命令行手册-03-广域网配置命令
  17. 什么叫手机或设备的ID
  18. RDS2016 Multipoint Role
  19. w ndows7怎样连接无线网,windows7电脑如何连接wifi
  20. Android错误提示及解决方案(持续更新)

热门文章

  1. python反汇编指令_IDApython 命令
  2. IT兄弟连 JavaWeb教程 JSP经典面试题
  3. 史上最快、最强大的Gradle 5.0发布,新特性全解
  4. 浏览器内核之WebKit 架构与模块
  5. linux下线程控制
  6. how to add user into sudoers file?
  7. 《参考消息》出现大标题错别字硬伤
  8. PS教程:如何批量处理图片
  9. 一个两年Java的面试总结
  10. 架构,改善程序复用性的设计~第五讲 复用离不开反射和IOC