sorted sets类型及操作:

sorted set是set的一个升级版本,它是在set的基础上增加了一个顺序

属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会

自动重新按新的值调整顺序。可以理解为两列的mysql表,一列存value,

一列存顺序。操作中key理解为zset的名字。

zadd方法:跟set的区别是带有排序数

127.0.01:6379> zadd zset1 1 one
(integer) 1
127.0.01:6379> zadd zset1 1 two
(integer) 1
127.0.01:6379> zadd zset1 1 three
(integer) 1
127.0.01:6379> zrange zset1 0 -1
1) "one"
2) "three"
3) "two"
127.0.01:6379> zrange zset1 0 -1 withscores
1) "one"
2) "1"
3) "three"
4) "1"
5) "two"
6) "1"

zrem方法:删除集合中的指定元素

127.0.01:6379> zrem zset1 one
(integer) 1
127.0.01:6379> zrange zset1 0 -1 withscores
1) "three"
2) "1"
3) "two"
4) "1"

zincrby方法:如果该元素存在,将其score值增加,如果该元素

不存在,就插入该元素,其score值为increase设置的值

127.0.01:6379> ZINCRBY zset1 2 two
"3"
127.0.01:6379> zrange zset1 0 -1 withscores
1) "three"
2) "1"
3) "two"
4) "3"
127.0.01:6379>

zrank方法:返回名称为key的zset中member元素的排名

(按score从小到大排序)即下标

127.0.01:6379> zrange zset1 0 -1 withscores
1) "three"
2) "1"
3) "two"
4) "3"
127.0.01:6379> zrank zset1 two
(integer) 1

zrevrank方法:返回名称为key的zset中member元素的排名

(按score从大到小排序)即下标

127.0.01:6379> zrange zset1 0 -1 withscores
1) "three"
2) "1"
3) "two"
4) "3"

127.0.01:6379> zrevrank zset1 two
(integer) 0

zrevrange方法:集合按score值从大到小降需排序

127.0.01:6379> zrevrange zset1 0 -1 withscores
1) "two"
2) "3"
3) "three"
4) "1"

zrangbyscore方法:返回集合中给定范围的元素

127.0.01:6379> zrevrange zset1 0 -1 withscores
1) "ont"
2) "5"
3) "two"
4) "3"
5) "three"
6) "1"
127.0.01:6379> ZRANGEBYSCORE zset1 1 3
1) "three"
2) "two"

zcount方法:返回给定score范围的元素数量

127.0.01:6379> zcount zset1 1 3
(integer) 2

zcard方法:返回集合的元素个数

127.0.01:6379> ZCARD zset1
(integer) 3

zremrangebyrank方法:删除下标为指定范围的元素

zremrangebyscore方法:删除score为指定范围的元素

127.0.01:6379> zrange zset1 0 -1
1) "three"
2) "two"
3) "ont"
127.0.01:6379> ZREMRANGEBYRANK zset1 0 1
(integer) 2
127.0.01:6379> zrange zset1 0 -1
1) "ont"

redis数据类型:sorted sets类型及操作的更多相关文章

  1. redis sets类型及操作

    sets类型及操作set是集合,它是string类型的无序集合.通过hash table实现,添加.删除.查找的复杂度都是0(1).对集合我们可以实现取交际.差集并集.通过这些操作我们可以实现SNS中 ...

  2. redis数据类型-散列类型

    Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...

  3. Redis数据类型Strings、Lists常用操作指令

    Redis数据类型Strings.Lists常用操作指令 Strings常用操作指令 GET.SET相关操作 # GET 获取键值对 127.0.0.1:6379> get name (nil) ...

  4. Redis数据类型:Hashes、Geo操作指令

    Redis数据类型:Hashes.Geo操作指令 Hashes常用操作指令 Redis Hashes是一个键值对的映射表,最对能存储2^32-1(约40亿)个键值对. HSET HGET HSET:将 ...

  5. redis数据类型:sets

    sets类型及操作: set是集合,它是string类型的无序集合.set是通过hash table实现的, 添加.删除和查找的复杂度都是O(1).对集合我们可以取并集.交集.差集. 通过这些操作我们 ...

  6. 四:redis的sets类型 - 相关操作(有序和无序集合)

    ================四十五种(有序和无序集合):sets种类(它是一个集)=============      简介:  set它代表的集合.加入是随意添加----->无序集合    ...

  7. redis的Sorted Set类型!!!!

    一.概述: Sorted Set(有序集合)和Set类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted Set中的每一个成员都会有一个分数(sc ...

  8. Redis 命令 - Sorted Sets

    ZADD key score member [score member ...] Add one or more members to a sorted set, or update its scor ...

  9. redis:hash哈希类型的操作

    1. hash哈希类型的操作 1.1. hset key field value 语法:hset key field value 作用:把key中field域的值设为value 注:如果没有field ...

随机推荐

  1. python从初识到精通1

    Python3 基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型& ...

  2. [HMLY]6.iOS Xcode全面剖析

    一.创建一个新工程 1.第一步打开Xcode,找到Xcode程序图标并点击 2.如下界面,我们点击新建一个项目,即第二项 (1).Get started with a playground playg ...

  3. windows 开机自动启动方案

    方案1: 把要启动的软件的快捷方式放到启动菜单对应的目录里,就像下面这个路径: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Sta ...

  4. CF Round #354 Div.2

    http://codeforces.com/contest/676 A. Nicholas and Permutation 题意:有一个从1到n的数列,可以任意对调两个数字一次,问数字1和n所在位置之 ...

  5. ElasticSearch(7)-排序

    引用自ElaticSearch权威指南 一.排序 相关性排序 默认情况下,结果集会按照相关性进行排序 -- 相关性越高,排名越靠前. 这一章我们会讲述相关性是什么以及它是如何计算的. 在此之前,我们先 ...

  6. haproxy(1)

    参考文档: http://cbonte.github.io/haproxy-dconv/1.5/configuration.html 一.Haproxy 软件负载均衡一般通过两种方式来实现:基于操作系 ...

  7. ucenter无法双向同步setting[allowsynlogin]为0问题解决

    深入探索ucenter各种通信失败问题飞狐ITWeb问题描述:A,B两个应用,A的登录操作等同步到B,而B无法同步到A,即只能从A单向同步到B,AB之间没有实现双向同步以前碰到过没记录,这次记录下来查 ...

  8. 各个Maven仓库镜像(包括国内)

    各个Maven仓库镜像(包括国内) 衽孤魍墓 ゅ槭 众矿工唯唯诺诺我在旁哭笑不得原 宦蠃サ 骘猩池 粑涫汾滹 吧滔哌蹋 飑俗た 狃攵庾唾 想必是想挡住什么我想反正这笔筒也不是 翡蜮胼 娴左 ...

  9. Spring MVC(二)

    spring mvc工作流 1A)客户端发出http请求,只要请求形式符合web.xml 文件中配置的*.action的话,就由DispatcherServlet 来处理. 1B)Dispatcher ...

  10. SOCKET的一些注意事项

    1. 如果采用同步处理,其实,是可以多次接受数据的, MemoryStream ms = new MemoryStream();    while (true)   {     Console.Wri ...