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之间的成员)

  1. root@localhost:~# redis-cli
  2. 127.0.0.1:> zadd zset a b c d
  3. (integer)
  4. 127.0.0.1:> zcard zset
  5. (integer)
  6. 127.0.0.1:> zincrby zset - c
  7. ""
  8. 127.0.0.1:> zscore zset c
  9. ""
  10. 127.0.0.1:> zrevrank zset a
  11. (integer)
  12. 127.0.0.1:> zrank zset a
  13. (integer)
  14. 127.0.0.1:> zremrangebyrank zset
  15. (integer)
  16. 127.0.0.1:> zremrangebyrank zset
  17. (integer)
  18. 127.0.0.1:> zrange zset - withscores
  19. ) "c"
  20. ) ""
  21. ) "d"
  22. ) ""
  23. 127.0.0.1:> zremrangebyscore zset
  24. (integer)
  25. 127.0.0.1:> zcount zset
  26. (integer)

 2、交并集

ZINTERSTORE/ZUNIONSTORE destination num_of_key key1 [key2...] [WEIGHTS weight1 [weight2...]] [AGGREGATE SUM|MIN|MAX] (给定集合进行交集/并集运算)

WEIGHTS表示为每个给定的有序集指定一个乘法因子,每个给定有序集的所有成员的分数在传递给聚合函数之前都要先乘以该因子,默认为1。

AGGREGATE指定结果集的聚合方式。默认使用的参数SUM,表示将分数之和作为结果集中该成员的分数。如果使用MIN或者MAX,表示取分数中的最小值或最大值作为结果的分数。

  1. root@localhost:~# redis-cli
  2. 127.0.0.1:> zadd zset1 a b c
  3. (integer)
  4. 127.0.0.1:> zadd zset2 c b e
  5. (integer)
  6. 127.0.0.1:> zinterstore zset_i zset1 zset2
  7. (error) ERR syntax error
  8. 127.0.0.1:> zinterstore zset_i zset1 zset2
  9. (integer)
  10. 127.0.0.1:> zrange zset_i - withscores
  11. ) "c"
  12. ) ""
  13. ) "b"
  14. ) ""
  15. 127.0.0.1:> zunionstore zset_u zset1 zset2 aggregate max
  16. (integer)
  17. 127.0.0.1:> zrange zset_u - withscores
  18. ) "a"
  19. ) ""
  20. ) "c"
  21. ) ""
  22. ) "b"
  23. ) ""
  24. ) "e"
  25. ) ""

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. HDU - 1874 畅通工程续(最短路径)

    d.已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离. s.最短路径 c.Dijkstra单源最短路 /* Dijkstra单源最短路 权值必须是非负 单源最短路径,Dijkstra算法 ...

  2. [Java] public, private, protected

      同包不同类的成员 不同包中子类的成员 不同包非子类的成员 public √ √ √ protected √ √ × 默认 √ × × private × × ×

  3. 【POJ 2407】 Relatives

    [题目链接] 点击打开链接 [算法] 欧拉函数 [代码] #include <algorithm> #include <bitset> #include <cctype& ...

  4. POJ1017 【据说是贪心...】

    题意: 有6种面积的格子,给出这些格子的数量,然后有6*6的格子去容纳这6种面基,问最少需要几个6*6格子,使得所有类型的小格子被容纳. 思路: 按照面积的从大到小放. 一开始还是太天真,还要用各种1 ...

  5. bzoj4145 [AMPPZ2014]The Prices(状压dp)

    Description 你要购买m种物品各一件,一共有n家商店,你到第i家商店的路费为d[i],在第i家商店购买第j种物品的费用为c[i][j], 求最小总费用. Input 第一行包含两个正整数n, ...

  6. YCOJ单向公路

    题目: 描述 某地区有许多城镇,但并不是每个城镇都跟其他城镇有公路连接,并且有的公路并不能双向行驶.现在我们把这些城镇间的公路分布及允许的行驶方向告诉你,你需要编程解决通过公路是否可以从一个城镇到达另 ...

  7. hdu3926 Hand in Hand 同构图

    #include<cstring> #include<cstdio> #include<algorithm> using namespace std; ]; str ...

  8. js、css外部文件的相对路径问题

    如果js.css外部文件有使用到相对路径时,需要注意其相对路径的基准是不一样的. 比如说,在index.html中引用到了外部的js和css文件,这两个文件都通过相对路径引用了某一张图片:这些文件所在 ...

  9. 一些CSS的备忘

    text-transform 文本转换 属性值是 none表示没有 不转换 同时也是默认的 capitalize 表示首字母大写 uppercase全部转换为大写 lowercase全部转为小写 te ...

  10. 写一个类继承socket时遇到的问题(TCP)

    主要为题出在服务器端的accept()函数,他返回两个参数,一个套接字和一个客户端的ip和端口组成的元组. 问题就出在这个套接字这里,我们继承了socket这个类,这个套接字创建的时候是通过socke ...