一、Redis之Zset简介

1. 有序集合Zset是String类型的有序集合。

2. Zset中每个元素都会关联一个double类型的分数值,redis通过分数值来为集合中所有成员进行从小到大排序。

3. Zset的成员是唯一的,但分数值可以重复。

4. Zset是通过hash表实现的,添加、删除、查找的复杂度都是O(1)。

5. Zset最大的成员数量为232-1(40多亿)个。

二、Redis之Zset命令行操作

Zadd:将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,则更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。分数值可以是整数值或双精度浮点数。

Zrange:返回有序集中指定区间内的成员。成员按分数值递增排序,分数值相同的则按字典序来排序。查看Zset所有成员:zrange zset_name 0 -1。

Zrevrange:返回有序集中指定区间内的成员。成员按分数值递减排序,分数值相同的则按字典序的逆序来排序。

Zrangebyscore:返回有序集中指定分数区间的成员列表,按分数值递增排序,分数值相同的则按字典序来排序。默认使用闭区间。

Zrevrangebyscore:返回有序集中指定分数区间的成员列表,按分数值递减排序,分数值相同的则按字典序的逆序来排序。注意,区间表示的时候大值在前,小值在后,默认使用闭区间。

-inf表示负无限,+inf表示正无限。

Zrangebylex:通过字典区间返回有序集的成员列表。注意,只有有序集合中所有成员的分数值都相同的时候才会根据成员的字典序来排序,否则该命令返回的结果将是不可预知的。参数必须指明是开区间还是闭区间。+表示正无限,-表示负无限。

Zscan:迭代有序集合中的元素。

Zcard:返回指定有序集的元素数量。

Zcount:返回有序集中指定分数区间的成员数量。

Zlexcount:返回有序集中指定字典区间的成员数量。必须指定区间是开区间还是闭区间。

Zscore:返回有序集中指定成员的分数值。

Zrank:返回有序集中指定成员的排名,按分数值递增排序。分数值最小者排名为0。

Zrevrank:返回有序集中指定成员的排名,按分数值递减排序。分数值最大者排名为0。

Zrem:移除有序集中的一个或多个成员,忽略不存在的成员。

Zremrangebylex:移除有序集中指定字典区间的所有成员。注意,只有有序集合中所有成员的分数值都相同的时候才会根据成员的字典序来排序,否则该命令操作的结果将是不可预知的。

Zremrangebyrank:移除有序集中指定排名区间的所有成员。

Zremrangebyscore:移除有序集中指定分数值区间的所有成员。

Zincrby:对有序集中指定成员的分数值增加指定增量值。若为负数则做减法,若有序集不存在则先创建,若有序集中没有对应成员则先添加,最后再操作。

下面对交集和并集的计算将使用以下两个有序集合进行示例:

Zinterstore:计算给定一个或多个有序集的交集,并将其存储到一个目的有序集中。默认情况下。

Zunionstore:计算给定一个或多个有序集的并集,并将其存储到一个目的有序集中。

结果集中某个成员的分数值是所有给定集下该成员分数值之和。

最新文章

  1. Linux-文件和目录操作命令
  2. Linux搭建SVN服务器
  3. 【经验之谈】前端面试知识点总结(CSS相关)——附答案
  4. ASP.NET MVC学习之路由篇(1)
  5. [再寄小读者之数学篇](2014-11-24 Abel 定理)
  6. XHTML文档基本结构
  7. underscore.js 一个强大的js函数库
  8. jquery easyui的扩展验证
  9. sql查询统计,根据新闻类别ID统计,没有数据显示0
  10. IIS在W7下使用
  11. Oracle 多行转多列
  12. CodeForces 190D Non-Secret Cypher
  13. 嵌套的Try-Catch块--------异常处理(3)
  14. WPF使用RoutedCommand自己定义命令
  15. access按钮事件在子窗体打开窗体或报表
  16. 痞子衡嵌入式:第一本Git命令教程(7.1)- 清理之缓存(stash)
  17. Java的几个基本类型之间的相互转换
  18. Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录
  19. PHP中array_merge和array+array的区别
  20. C# 语法四 修饰符

热门文章

  1. 机器学习(1)- 概述&线性回归&逻辑回归&正则化
  2. webpack devserver的说明
  3. WinForm各种关闭
  4. 大数据学习系列之Hadoop、Spark学习线路(想入门大数据的童鞋,强烈推荐!)
  5. 661. Image Smoother@python
  6. windows下使用gcc完成头文件和目标文件编译
  7. ZJOI2018游记Round2
  8. NFS基础优化
  9. php-7.0.16 , apache2.4.25 配置
  10. Pandas中loc,iloc与直接切片的区别