Redis学习篇(六)之ZSet类型及其操作
ZADD
作用: 将元素及其分数添加到集合中
语法: ZADD key score membre [score member]
当集合元素已经存在时,再次添加会更新其分数
当score是 +inf 时, 分数是正无穷
当score是 -inf 时,分数是负无穷
ZSCORE
作用:获得指定成员的分数
语法:ZSCORE key value
元素不存在,返回nil
ZRANGE
作用: 按照分数从小到大的顺序返回指定索引start到stop之间的元素,参数WITHSCORES指定显示分数
语法: ZRANGE key start stop [WITHSCORES]
包含stop
若stop索引超过集合长度,则返回全部存在的元素
若start超过了集合的长度,则为空
分数相同时,按照字典的顺序排序
ZREVRANGE
作用: 按照分数从大到小的顺序返回指定索引start到stop之间的元素,参数WITHSCORES指定显示分数
语法: ZREVRANGE key start stop [WITHSCORES]
包含start和stop
ZRANGEBYSCORE
作用:获得指定分数范围内的元素,按照分数从小到大的顺序
语法:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
(min (max 表示不包含端点
-inf +inf 表示负无穷大和正无穷大
LIMIT 必须指定偏移量, 在指定数量
ZREVRANGEBYSCORE
作用:获得指定分数范围内的元素,按照分数从大到小的顺序
语法:ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
ZINCRBY
作用: 操作某个元素的分数,返回操作之后的分数
语法: ZINCRBY key increment member
ZCARD
作用: 获得集合中元素的数量
语法: ZCARD key
ZCOUNT
作用: 指定分数范围内的元素个数
语法: ZCOUNT key min max
ZREM
作用: 删除一个或者多个元素,返回删除元素的个数
语法: ZREM key member,member ...
ZREMRANGEBYRANK
作用: 按照分数从小到大的顺序, 删除指定索引范围内的所有的元素
语法: ZREMRANGEBYRANK key start stop
ZREMRANGEBYSCORE
作用: 按照分数范围删除元素
语法: ZREMRANGEBYSCORE key min max
ZRANK
作用: 按照分数从小到大的顺序, 获得指定元素的排名
语法: ZRANK key member
ZREVRANK
作用: 按照分数从大到小的顺序,获得指定元素的排名
语法: ZREVRANK key member
ZINTERSTORE
作用: 计算有序集合的交集,并将结果保存起来
语法: ZINTERSTORE destination numkeys key key...
[WEIGHTS weight weight...] [AGGREGATE SUM|MIN|MAX]
默认是分数求和
destination 指定目标集合
numkeys 指定集合的个数
key 指定集合名称
WEITHGS 指定权重
AGGEGATE 分数的计算方式
ZUNIONSTORE
作用: 计算有序集合的并集,并将结果保存起来
语法: ZINTERSTORE destination numkeys key key...
[WEIGHTS weight weight...] [AGGREGATE SUM|MIN|MAX]
默认是分数求和
destination 指定目标集合
numkeys 指定集合的个数
key 指定集合名称
WEITHGS 指定权重
AGGEGATE 分数的计算方式
Redis学习篇(六)之ZSet类型及其操作的更多相关文章
- redis 学习(6)-- 集合类型
redis 学习(6)-- 集合类型 set 结构 无序 无重复 集合间操作 set 集合内操作 命令 含义 sadd key memebr1 [member2...] 向集合中添加一个或多个成员 s ...
- redis 学习(5)-- 列表类型
redis 学习(5)-- 列表类型 列表特点 有序.可以重复.左右两边插入弹出 索引相关知识 索引从左往右,从0开始逐个增大 0 1 2 3 4 5 索引从右往左,从-1开始逐个减小 -6 -5 - ...
- redis 学习(3)-- String 类型
redis 学习(3)-- String 类型 String-结构 结构:Key-Value对 Value:可以是字符串.数字,也可以是二进制数组 限制:Value最大值为512MB String-常 ...
- Redis学习笔记六:持久化实验(AOF,RDB)
作者:Grey 原文地址:Redis学习笔记六:持久化实验(AOF,RDB) Redis几种持久化方案介绍和对比 AOF方式:https://blog.csdn.net/ctwctw/article/ ...
- redis学习 (key)键,Python操作redis 键 (二)
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...
- 【redis】04set类型和zset类型
sets类型 sets类型及操作 Set类型是一个集合,他是string类型的无序集合,也就是说咱们的set是没有顺序的, Set是通过hash table实现的,添加.删除和查找的复杂度都是 ...
- Redis学习第六课:Redis ZSet类型及操作
Sorted set是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素时候可以指定,每次指定后,zset会自动重新按新的值调整顺序.可以理解为有两列字段的数据表,一列 ...
- Redis学习系列六ZSet(有序列表)及Redis数据结构的过期
一.简介 ZSet可以说是Redis中最有趣的数据结构了,因为他兼具了Hash集合和Set的双重特性,也是用的最多的,保证了value值的唯一性的同时,,同时又保证了高性能,最主要的是还可以给每个Va ...
- Redis学习篇(四)之List类型及其操作
Redis的List是一个双向链表 LPUSH 作用:向列表左端添加元素 语法:LPUSH key value value... 从左到右逐个添加到左端,前面的先添加, 可以一次添加多个元素 RPUS ...
随机推荐
- Linux rpm yum 等安装软件
任何程序都是先写代码,拿到源码去编译得到一个目标程序. 1 编译的过程复杂有需要准备编译的环境,和硬件有关,32位64位,内核的不同等等所以需要编译多次 Java特殊但是他需要安装jvm, ...
- JVM调优总结(5):典型配置
以下配置主要针对分代垃圾回收算法而言. 堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理 ...
- 【洛谷 P2764】 最小路径覆盖问题(最大流)
题目链接 首先有\(n\)条路径,每条路径就是一个点,然后尽量合并,答案就是点数-合并数. 套路拆点,源连入,出连汇,原有的边入出连. 最大流就是最大合并数,第一问解决. 然后怎么输出方案? 我是找到 ...
- flask插件系列之flask_caching缓存
前言 为了尽量减少缓存穿透,同时减少web的响应时间,我们可以针对那些需要一定时间才能获取结果的函数和那些不需要频繁更新的视图函数提供缓存服务,可以在一定的时间内直接返回结果而不是每次都需要计算或者从 ...
- flask插件系列之SQLAlchemy基础使用
sqlalchemy是一个操作关系型数据库的ORM工具.下面研究一下单独使用和其在flask框架中的使用方法. 直接使用sqlalchemy操作数据库 安装sqlalchemy pip install ...
- Ubuntu 17.10 安装 “爱壁纸” 时,缺失了 python-support 依赖
Ubuntu 17.10 安装 "爱壁纸" 的 deb 包时,缺失了 python-support 依赖.使用 sudo apt-get -f install 也没修复.查了下官 ...
- 牛B的日本精神
在汤森路透评选出的<2015全球创新企业百强>榜单里,日本以40家高居榜首,力压美国的35家.而中国内地无一入围. 在中国媒体上,我们见到的日本是“失去的20年”,经济衰退.创新能力丧 ...
- MAC和PHY的区别
一块以太网网卡包括OSI(开方系统互联)模型的两个层.物理层和数据链路层.物理层定义了数据传送与接收所需要的电与光信号.线路状态.时钟基准.数据编码和电路等,并向数据链路层设备提供标准接口.数据链路层 ...
- openjudge-NOI 2.6-1775 采药
题目链接:http://noi.openjudge.cn/ch0206/1775/ 题解: 很经典的01背包问题,设时间为t,价值为v 一维压缩,状态转移方程fj=max(fj,fj-ti+vi) # ...
- [ python ] 各种推导式
各种推导式,主要使用示例演示用法 列表生成式 示例1:求0-9每个数的平方 li = [x*x for x in range(10)] print(li) # 执行结果: # [0, 1, 4, 9, ...