第六节:Redis 数据结构之sorted-set 类型
存储Sorted-Set
Sorted-Set和Set的区别
Sorted-Set中的成员在集合中的位置是有序的
存储Sorted-set常用命令
添加元素
获得元素
删除元素
范围查询
扩展命令
zadd 添加元素 里面包括评分和值
127.0.0.1:6379> zadd sort1 5 a 4 b 6 c
(integer) 3
127.0.0.1:6379> zrange sort1 0 -1
1) "b"
2) "a"
3) "c"

我们添加集合sort1 元素是a,b,c 评分分别是5,4,6
集合里的排序是根据评分从小到大排序的;
继续添加元素
假如此元素集合里面已经有了,则覆盖
127.0.0.1:6379> zadd sort1 7 b
(integer) 0
127.0.0.1:6379> zrange sort1 0 -1
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> zscore sort1 b     //通过zscore获取b的评分,发现已修改
"7"

假如此元素不在集合里,则添加
127.0.0.1:6379> zadd sort1 9 d
(integer) 1
127.0.0.1:6379> zrange sort1 0 -1
1) "a"
2) "c"
3) "b"
4) "d"

删除元素zrem
127.0.0.1:6379> zrem sort1 b
(integer) 1
127.0.0.1:6379> zrange sort1 0 -1
1) "a"
2) "c"
3) "d"

zcard 查看集合里的元素个数
127.0.0.1:6379> zcard sort1
(integer) 3

withscores  把评分也显示出来
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "a"
2) "5"
3) "c"
4) "6"
5) "d"
6) "9"

zrevrange 降序排列
127.0.0.1:6379> zrevrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "c"
4) "6"
5) "a"
6) "5"

zremrangebyrank 根据排名来删除元素  删除3个
127.0.0.1:6379> zrange sort1 0 -1 withscores1) "a"2) "5"3) "f"4) "5"5) "c"6) "6"7) "d"8) "9"9) "e"
10) "10"
127.0.0.1:6379> zremrangebyrank sort1 0 2
(integer) 3
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "e"
4) "10"

zremrangebyscore 根据具体评分范围来删除元素
127.0.0.1:6379> zrange sort1 0 -1 withscores1) "d"2) "9"3) "e"4) "10"5) "f"6) "11"7) "g"8) "16"9) "h"
10) "18"
127.0.0.1:6379> zremrangebyscore sort1 10 16
(integer) 3
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "h"
4) "18"

zrangebyscore 根据评分范围来查找元素
127.0.0.1:6379> zrange sort1 0 -1 withscores1) "d"2) "9"3) "h"4) "18"5) "i"6) "20"7) "j"8) "23"9) "k"
10) "30"
127.0.0.1:6379> zrangebyscore sort1 18 23 withscores
1) "h"
2) "18"
3) "i"
4) "20"
5) "j"
6) "23"

limit 限定查找起始 类似分页
127.0.0.1:6379> zrangebyscore sort1 18 23 withscores limit 0 2
1) "h"
2) "18"
3) "i"
4) "20"

zincrby 给指定元素加分
127.0.0.1:6379> zrange sort1 0 -1 withscores1) "d"2) "9"3) "h"4) "18"5) "i"6) "20"7) "j"8) "23"9) "k"
10) "30"
127.0.0.1:6379> zincrby sort1 5 h
"23"
127.0.0.1:6379> zrange sort1 0 -1 withscores1) "d"2) "9"3) "i"4) "20"5) "h"6) "23"7) "j"8) "23"9) "k"
10) "30"

zcount 查找指定评分范围的元素个数
127.0.0.1:6379> zrange sort1 0 -1 withscores1) "d"2) "9"3) "i"4) "20"5) "h"6) "23"7) "j"8) "23"9) "k"
10) "30"
127.0.0.1:6379> zcount sort1 20 23
(integer) 3

Sorted-Set使用场景
大型在线游戏积分排行榜
构建索引数据

转载于:https://www.cnblogs.com/tenWood/p/8685094.html

峰Redis学习(6)Redis 数据结构(sorted-set的操作)相关推荐

  1. Redis学习手册1—数据结构之字符串

    Redis数据结构之字符串 字符串 存储结构 命令 SET命令 改变覆盖规则 GET命令 GETSET命令 MSET命令 MGET命令 MSETNX命令 STRLEN命令 GETRANGE SETRA ...

  2. Redis学习笔记~Redis在windows环境下的安装

    Redis是一个key-value的存储系统,它最大的特点就是可以将数据序列化到文件中. redis存储在服务器的内存或者文件中,它不是session,不是cookies,它只是个更安全,更稳定,更可 ...

  3. Redis学习笔记---Redis的主从复制

    Redis学习笔记-Redis的主从复制 1.Redis的高可用性 高可用性(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性. Rei ...

  4. Redis学习笔记---Redis的模式订阅与退订

    Redis学习笔记-Redis的模式订阅与退订 1.发布订阅简介 发布订阅是一种通信的模式,Redis提供了发布订阅功能,可以用于消息的传输 Redis的发布订阅机制包括三个部分,publisher( ...

  5. Redis学习笔记---Redis的事务

    Redis学习笔记-Redis的事务 1. Redis事务(弱事务)和Mysql事务对比 Atomicity(原子性):构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行. Redi ...

  6. 【Redis学习】Redis的安装、管理、适用场合以及使用

    1.Redis概述 我们知道,内存是电脑主板上的存储部件,用于存储当前正在使用的数据和程序,CPU可以与内存直接沟通,所以访问速速非常高:而外存数据必须加载到内存以后程序才能使用.如果把CPU当做一个 ...

  7. Redis学习之Redis概述及原理、基本操作及持久化

    一.Redis介绍 Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 它通常被称为数据结构服务 ...

  8. 【Redis学习】Redis管理命令总结

    1.键管理 之前通过对五种数据类型的操作命令的学习发现,Redis在对每种数据进行处理之前,都要先指定该数据的key,然后再指定对该数据进行何种操作. Redis中的key有点类似于Java中的变量名 ...

  9. 【Redis学习】Redis数据类型及存储结构

    最近再进行redis相关的学习,在网上查阅资料,总结如下: Redis支持五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(sortedset:有序集 ...

  10. redis学习之——redis.conf配置(基本)文件学习

    # Redis configuration file example# Note on units: when memory size is needed, it is possible to spe ...

最新文章

  1. 格式化测试数据,组装用于插入表中的sql语句
  2. 操作系统安全加固的作用
  3. 使用redis时遇到的问题
  4. 商淘多b2b2c商城系统怎么在个人电脑上安装_b2b2c商城系统免费模板怎么用?
  5. Apache Spark探秘:三种分布式部署方式比较
  6. eclipse打开当前文件所在文件夹
  7. Scala-Spark digamma stackoverflow问题
  8. openssh-在win7上的搭建
  9. zookeeper watch java_Apache ZooKeeper Watcher 机制源码解释
  10. cuSPARSE库:(七)cusparseCreate()的功能与作用
  11. 算法:String to Integer (atoi)(字符串转换整数)
  12. Linux中mount挂载命令及其概念
  13. 软件项目管理 2.2.项目招投标流程
  14. sqlserver企业版秘钥_SQLserver 2012下载 (附密钥)
  15. linux 平台编程软件下载,慧编程-慧编程linux版下载 v1.2.0官方版--pc6下载站
  16. 智能交通综合管控平台方案
  17. Ubuntu软件包资源官网下载教程(包含所有下载源)
  18. lamp技术研发人员的必备
  19. python计算等差数列_python 等差数列末项计算方式
  20. 没想到国美竟然用oracle的团队来搭建电商平台

热门文章

  1. html5 圆形加载进度条,纯css3超酷圆形Loading加载进度条特效
  2. android里build报错怎么办,Android Studio 当build时候出错解决办法
  3. php soap 下载文件,允许下载SOAP API响应(PHP)中的PDF文件get(作为附件)
  4. python cx_oracle配置_用Python设置cx_Oracle环境变量
  5. oracle24801错误,[数据库]oracle错误(ORA
  6. 鼠标和按键在android 上的识别和区别
  7. VB中窗体模块、标准模块、类模块的区别
  8. 自考那些事儿(八):计算机网络原理(原理篇)之网络各层
  9. 纸片人活了!海报上的梅西、漫画里的悟空,都被AI唤醒
  10. 特斯拉扭亏,股价暴涨;马斯克下一步:进军打车业务