Redis有序集合操作
有序集合存储着成员和分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序的获取或扫描成员和分值的命令
(常用命令)
ZADD : ZADD key-name score member [score member ...] ------------将带有给定分值的成员添加到有序集合里
ZREM : ZREM key-name member [member ...] --------------------------从有序集合里移除给定的成员,并返回被移除成员的数量
ZCARD : ZCARD key-name ------------------------------------------------返回有序集合包含的成员数量
ZINCRBY : ZINCRBY key-name increment member --------------------将member成员的分值加上increment
ZCOUNT : ZCOUNT key-name min max ---------------------------------返回分值介于min和max之间的成员数量
ZRANK : ZRANK key-name member ------------------------------------返回成员member在有序集合中的排名
ZSCORE : ZSCORE key-name member --------------------------------返回成员member的分值
ZRANGE : ZRANGE key-name start stop [WITHSCORE] ------------返回有序集合中排名介于start和stop之间的成员,如果给定了可选的WITHSCORE选项,那么命令会将成员的分值也一并返回
>>> conn.zadd('zset-key','a',3,'b',2,'c',1)
3
>>> conn.zcard('zset-key')
5
>>> conn.delete('zset-key')
1
>>> conn.zadd('zset-key','a',3,'b',2,'c',1)
3
>>> conn.zcard('zset-key')
3
>>> conn.zincrby('zset-key','c',3)
4.0
>>> conn.zscore('zset-key','b')
2.0
>>> conn.zrank('zset-key','c')
2
>>> conn.zcount('zset-key',0,3)
2L
>>> conn.zrem('zset-key','c')
1
>>> conn.zrange('zset-key',0,-1,withscores=True)
[('b', 2.0), ('a', 3.0)]
(有序集合在一定范围内获取数据和删除数据命令,以及并集和交集命令)
ZREVRNK : ZREVRANK key-name member --------------返回有序集合里成员member的排名,成员按照分值从大到小排列
ZREVRANGE : ZREVRANGE key-name start stop [WHISTSCORES] -----------返回有序集合给定排名范围内的成员,成员按照分值从大到小排列
ZRABGEBYSCORE : ZRABGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] --------返回有序集合中,分值介于min和max之间的所有成员
ZREVRANGEBYSCORE : ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] -----获取有序集合中分值介于min和max之间的所有成员,并按照分值从大到小的顺序返回它们
ZREMRANGEBYRANK : ZREMRANGEBYRANK key-name start stop ---------------------移除有序集合中排名介于start和end之间的所有成员
ZREMRANGEBYSCORE : ZREMRANGEBYSCORE key-name min max -------------------移除有序集合中分值介于min和max之间的所有成员
ZINTERSTORE : ZINTERSTORE dest-key key-count key [key...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]--------------对给定的有序集合执行类似于集合的交集运算
ZUNIONSTORE : ZUNIONSTORE dest-key key-count key [key...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]--------------对给定的有序集合执行类似于集合的并集运算
>>> import redis
>>> conn = redis.Redis(host='192.168.146.129',port=6379,db=0)
>>> conn.zadd('zset-1','a',1,'b',2,'c',3)
3
>>> conn.zadd('zset-2','b',4,'c',1,'d',0)
3
>>> conn.zinterstore('zset-i',['zset-1','zst-2'])
0L
>>> conn.zinterstore('zset-i',['zset-1','zset-2'])
2L
>>> conn.zrange('zset-i',0,-1,withscores=True)
[('c', 4.0), ('b', 6.0)]
>>> conn.zunionstore('zset-u',['zset-1','zset-2'],aggregate='min')
4L
Redis有序集合操作的更多相关文章
- redis 有序集合(zset)函数
redis 有序集合(zset)函数 zAdd 命令/方法/函数 Adds the specified member with a given score to the sorted set stor ...
- Redis 有序集合(sorted set),发布订阅,事务,脚本,连接,服务器(三)
Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...
- redis有序集合数据类型---sortedset
一.概述 redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数. redis正式通过分数来为集合中的重圆进行从小到大的 ...
- 数据结构与算法简记--redis有序集合实现-跳跃表
跳表 定义 为一个值有序的链表建立多级索引,比如每2个节点提取一个节点到上一级,我们把抽出来的那一级叫做索引或索引层.如下图所示,其中down表示down指针,指向下一级节点.以此类推,对于节点数为n ...
- Redis 有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序 ...
- Redis有序集合
Redis有序集合类似Redis集合存储在设定值唯一性.不同的是,一个有序集合的每个成员带有分数,用于以便采取有序set命令,从最小的到最大的分数有关. Redis 有序set添加,删除和测试中的O( ...
- redis有序集合的使用
Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...
- 基于redis有序集合,实现简单的延时任务
基于redis有序集合,实现简单的延时任务 延时任务的场景很多,开发过程中我们经常会遇到,比如说: 1.订单未付款,5分钟后自动取消,这是电商网站非常普遍的需求: 2.用户创建订单不付款,3分钟后自动 ...
- redis(十四):Redis 有序集合(sorted set)
Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...
随机推荐
- Gimp RGB 转 CMYK
安装GIMP separate+插件.在Windows的Photoshop中,有转换CMYK的功能,非常简单.在Linux里,通常用GIMP进行转换.由于授权的问题,默认安装的GIMP里没有安装转换的 ...
- Mirror--不同SQL Server版本使用的默认镜像端点加密算法不同
在搭建镜像时遇到一个小问题,搭建镜像时报错,排查好半天,对证书/用户/登陆/连接授权等方面都做了逐一排查,未发现异常,最后生成镜像端点创建脚本时,才发现问题原因: 镜像主节点(10.50.4276)的 ...
- 定时任务 Wpf.Quartz.Demo.4
本文继续介绍定时任务 Wpf.Quartz.Demo.3的一些小细节, 代码也请前往第3节下载. 1.RichTextBox右键菜单 <RichTextBox.ContextMenu> ...
- JavaScript 知识
1. js中this表示当前标签,获取当前标签内的属性,示例如下: var user_id = $(this).attr("data-user-id"); 2. * js中va ...
- spring cloud学习(一) 服务注册
首先spring-cloud相关的简介可以去百度搜索,这里就不多说了,这里分享一个翻译spring cloud官网的中文网站spring cloud中文网 这个学习项目的代码放在 https://gi ...
- falcon适配ldap密码同步
问题 小米的openfalcon在使用ldap首次登陆成功后,会在本地创建同名的账号, 这就有个问题当你更新了ldap的密码时,openfalcon是没有同步本地账号密码的功能 二次改造 方便我们de ...
- dell 远程管理卡的使用racadm
尊重作者的劳动,转载请注明作者及原文地址 http://www.cnblogs.com/txwsqk/p/6522854.html 可以直接在浏览器输入管理卡的地址-用户名-密码页面操作 也可以通过命 ...
- TCPDUMP学习笔记。
1.启动 普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包,注意这里使用超级用户.当用户上网得时候,就会将监视得数据打印出来. 我没使用root用户,结果输入tcpdump命令 ...
- docker启动报错iptables failed: -重建docker0网络恢复
# docker启动报错 [root@localhost mysqlconf]# docker run -d -p 8080:8080 --link zookeeper:zookeeper -e du ...
- 一口一口吃掉Hexo(四)
如果你想得到更好的阅读效果,请访问我的个人网站 ,版权所有,未经许可不得转载! 人总是不会满足于现状,接下来我们就可以让我们的朋友们通过独立域名访问我们的网站了,但是这肯定是要花点钱的,所以这篇文章难 ...