Redis学习笔记(六)有序集合进阶
1、基础操作
ZCARD(获取成员数量)
ZINCRBY key_name num member(将member的分数加num)
ZCOUNT key_name min max(获取分数在min与max之间的成员数量)
ZRANK/ZREVRANK key_name member(获取member在升序/降序集合中的排名)
ZSCORE key_name member(获取member的分数)
ZREMRANGEBYRANK key_name start stop(移除有序集合中排名介于start与stop之间的成员)
ZREMRANGEBYSCORE key_name min max(移除有序集合中分数介于min与max之间的成员)
root@localhost:~# redis-cli
127.0.0.1:> zadd zset a b c d
(integer)
127.0.0.1:> zcard zset
(integer)
127.0.0.1:> zincrby zset - c
""
127.0.0.1:> zscore zset c
""
127.0.0.1:> zrevrank zset a
(integer)
127.0.0.1:> zrank zset a
(integer)
127.0.0.1:> zremrangebyrank zset
(integer)
127.0.0.1:> zremrangebyrank zset
(integer)
127.0.0.1:> zrange zset - withscores
) "c"
) ""
) "d"
) ""
127.0.0.1:> zremrangebyscore zset
(integer)
127.0.0.1:> zcount zset
(integer)
2、交并集
ZINTERSTORE/ZUNIONSTORE destination num_of_key key1 [key2...] [WEIGHTS weight1 [weight2...]] [AGGREGATE SUM|MIN|MAX] (给定集合进行交集/并集运算)
WEIGHTS表示为每个给定的有序集指定一个乘法因子,每个给定有序集的所有成员的分数在传递给聚合函数之前都要先乘以该因子,默认为1。
AGGREGATE指定结果集的聚合方式。默认使用的参数SUM,表示将分数之和作为结果集中该成员的分数。如果使用MIN或者MAX,表示取分数中的最小值或最大值作为结果的分数。
root@localhost:~# redis-cli
127.0.0.1:> zadd zset1 a b c
(integer)
127.0.0.1:> zadd zset2 c b e
(integer)
127.0.0.1:> zinterstore zset_i zset1 zset2
(error) ERR syntax error
127.0.0.1:> zinterstore zset_i zset1 zset2
(integer)
127.0.0.1:> zrange zset_i - withscores
) "c"
) ""
) "b"
) ""
127.0.0.1:> zunionstore zset_u zset1 zset2 aggregate max
(integer)
127.0.0.1:> zrange zset_u - withscores
) "a"
) ""
) "c"
) ""
) "b"
) ""
) "e"
) ""
Redis学习笔记(六)有序集合进阶的更多相关文章
- redis 学习(7) -- 有序集合
redis 学习(7) -- 有序集合 zset 结构 有序集合:有序.不能包含重复元素 每个节点包含:score和value两个属性,根据score进行排序 如图: zset 重要 API 含义 命 ...
- Redis学习笔记六:持久化实验(AOF,RDB)
作者:Grey 原文地址:Redis学习笔记六:持久化实验(AOF,RDB) Redis几种持久化方案介绍和对比 AOF方式:https://blog.csdn.net/ctwctw/article/ ...
- Redis学习笔记六:独立功能之 Lua 脚本
Redis 2.6 开始支持 Lua 脚本,通过在服务器环境嵌入 Lua 环境,Redis 客户端中可以原子地执行多个 Redis 命令. 使用 eval 命令可以直接对输入的脚本求值: 127.0. ...
- Python学习笔记六:集合
集合 Set,去重,关系测试:交.并.差等:无序 list_1=set(list_1), type(list_1) list_2=set([xxxxx]) 交集:list_1.intersectin( ...
- Python操作redis学习系列之(集合)set,redis set详解 (六)
# -*- coding: utf-8 -*- import redis r = redis.Redis(host=") 1. Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合 ...
- Redis学习笔记(二) Redis 数据类型
Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) ...
- Redis学习笔记~目录
回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...
- Redis学习笔记4-Redis配置详解
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...
- Redis学习笔记一:数据结构与对象
1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...
- Redis学习笔记之ABC
Redis学习笔记之ABC Redis命令速查 官方帮助文档 中文版本1 中文版本2(反应速度比较慢) 基本操作 字符串操作 set key value get key 哈希 HMSET user:1 ...
随机推荐
- VC++读写文件
目录 第1章读写文件 1 1.1 API 1 1.2 低级IO 1 1.2.1 文件序号 1 1.2.2 文本文件与二进制文件 1 1.3 流IO 2 1.4 Un ...
- iphone 在设置了initial-scale=1 之后,在设置滚动条之后,没有滑动效果的解决办法
iphone在设置了initial-scale=1 之后,我们终于可以以1:1 的比例进行页面设计了. 关于viewport,还有一个很重要的概念是:iphone 的safari 浏览器完全没有滚动条 ...
- InstallShield 12 豪华版+破解版 下载
InstallShield 12 豪华版+破解版 下载 2009-07-09 19:18:30| 分类: 默认分类|字号 订阅 InstallShield 12 豪华版+破解版 下载 下载方 ...
- C# 利用Aspose.Cells .dll将本地excel文档转化成pdf(完美破解版 无水印 无中文乱码)
Aspose.Cells .dll下载 http://pan.baidu.com/s/1slRENLF并引用 C#代码 using System; using System.Collections. ...
- 【204】显示3D大球球
1. 光滑球 From Jan 28, 2016 2. 大球球 https://www.revolvermaps.com/?target=enlarge&i=0xoqkxnu52c&a ...
- virtualBox更改虚拟机内存大小
在cmd中进入到virtualbox安装目录 查看目前的虚拟机列表: VBoxManage list vms 读取虚拟机具体信息 VBoxManage showvminfo <uuid>| ...
- View Controller Programming Guide for iOS---(一)---About View Controllers
About View Controllers View controllers are a vital link between an app’s data and its visual appear ...
- 为什么linux有足够的内存还进行swap?
1.Linux在内存被用完之前开始交换.这是为了提高性能和响应能力: 性能提高是因为一些内存放磁盘缓存比方内存更合适.因此,最好将一个已经停用了一段时间的程序交换出去,而将经常使用的文件保存在缓存中. ...
- lightoj1200 【完全背包】
题意: 有一个能放W重的袋子,然后妻子给了老公一列清单,每个item会有价格,数量,重量. 首先得满足老婆的要求,然后在可装的地方输出最大还能拿多少使得拿的东西的钱最多. 注意标题是thief,我想大 ...
- hdoj2859【DP基础】
/* 看题解A的. 总结:小矩阵--> 大矩阵 dp[i][j]=min(t,dp[i-1][j+1]+1); */ #include <iostream> #include < ...