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学习笔记(六)有序集合进阶的更多相关文章

  1. redis 学习(7) -- 有序集合

    redis 学习(7) -- 有序集合 zset 结构 有序集合:有序.不能包含重复元素 每个节点包含:score和value两个属性,根据score进行排序 如图: zset 重要 API 含义 命 ...

  2. Redis学习笔记六:持久化实验(AOF,RDB)

    作者:Grey 原文地址:Redis学习笔记六:持久化实验(AOF,RDB) Redis几种持久化方案介绍和对比 AOF方式:https://blog.csdn.net/ctwctw/article/ ...

  3. Redis学习笔记六:独立功能之 Lua 脚本

    Redis 2.6 开始支持 Lua 脚本,通过在服务器环境嵌入 Lua 环境,Redis 客户端中可以原子地执行多个 Redis 命令. 使用 eval 命令可以直接对输入的脚本求值: 127.0. ...

  4. Python学习笔记六:集合

    集合 Set,去重,关系测试:交.并.差等:无序 list_1=set(list_1), type(list_1) list_2=set([xxxxx]) 交集:list_1.intersectin( ...

  5. Python操作redis学习系列之(集合)set,redis set详解 (六)

    # -*- coding: utf-8 -*- import redis r = redis.Redis(host=") 1. Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合 ...

  6. Redis学习笔记(二) Redis 数据类型

    Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) ...

  7. Redis学习笔记~目录

    回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...

  8. Redis学习笔记4-Redis配置详解

    在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...

  9. Redis学习笔记一:数据结构与对象

    1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...

  10. Redis学习笔记之ABC

    Redis学习笔记之ABC Redis命令速查 官方帮助文档 中文版本1 中文版本2(反应速度比较慢) 基本操作 字符串操作 set key value get key 哈希 HMSET user:1 ...

随机推荐

  1. Python学习笔记_Redis

    一.Redis介绍 非关系型数据库:mongodb.redis redis数据全部是存在内存里面的. redis本身每秒支持30w次的读写,本身性能非常好, redis重启后,数据会消失,持久性不好, ...

  2. android广播接收器

    Android程序创建广播接收器继承BroadcastReceiver Android广播接收器需要在AndroidManifest.xml文件中声明: <recevie android:nam ...

  3. 贪吃蛇小游戏—C++、Opencv编写实现

    贪吃蛇游戏,C++.Opencv实现 设计思路: 1.显示初始画面,蛇头box初始位置为中心,食物box位置随机 2.按随机方向移动蛇头,按a.s.d.w键控制移动方向,分别为向左,向下,向右,向上 ...

  4. Ski Course Design

    链接 分析:读题!读题!读题!重要的事说三遍,中文翻译漏掉了一个重要的地方,每个只能用一次,调了一下午还以为标程错了,其实就是找一段长为17的区间,然后使所有都处于这个区间中代价最小,暴力枚举即可. ...

  5. 【旧文章搬运】改PEB中的映像路径可以这样~

    原文发表于百度空间,2008-7-26========================================================================== 用常用的几个 ...

  6. win7下出现'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件的解决方法

    在win7竟然不可能使用telnet命令,使用时会出现“'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件”,研究了很多,才终于明白WIN7默认是没有安装这个命令. 处理办法: 依次 ...

  7. USACO 5.4 tour的dp解法

    题意:有n个点排成序列,两个人甲乙从1出发,到达n,中间的点不允许到达两次,只能从左向右走,问最多两人访问多少点. (膜大佬) 解: dp f(i, j) 表示甲到了i点,乙到了j点,两人最多访问了多 ...

  8. (水题)洛谷 - P1996 - 约瑟夫问题 - 链表

    https://www.luogu.org/problemnew/show/P1996 试了一下数组实现的双向链表,是挺难用的,估计是应该写个get_next()函数比直接用next数组好. #inc ...

  9. Codeforces Round #364 (Div. 2)【A,C】

    啊啊啊啊啊啊啊啊啊,目睹A->CⅠA全过,最终fstwaA,C;23333333 A题: 题意: 就是分成相等的m堆,每堆有两个位置上的值相加. 思路: fst在sum可能不是偶数,先*2/n; ...

  10. POJ1458【最长公共子序列】

    基础DP. #include <iostream> #include <stdio.h> #include <string.h> #include <stac ...