`
xuelianbobo
  • 浏览: 175243 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

redis渐入佳境(05) zset类型

 
阅读更多

Zset就是有序集合,除了集合的特性外还对每一个集合元素添加了一个顺序的属性,

ZADD方法使用具体如下:ZADD 集合名  序号  集合元素

ZRAGE方法的使用具体如下:ZRANGE 集合名 开始位置 结束位置 [withscores]  //withscores 是指的是否显示序号

 

redis 127.0.0.1:6379>
redis 127.0.0.1:6379> ZADD zset1 0 xue //添加一个元素并指定序号
(integer) 1
redis 127.0.0.1:6379> ZADD zset1 1 lian
(integer) 1
redis 127.0.0.1:6379> ZADD zset1 2 bo 3 bo//一次添加多个元素并指定序号
(integer) 1
redis 127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "xue"
2) "0"
3) "lian"
4) "1"
5) "twoe"
6) "2"
7) "bo"
8) "3"
redis 127.0.0.1:6379> ZADD zset1 2 bo //重复添加会返回0
(integer) 0
redis 127.0.0.1:6379>
[redies@localhost redis-2.4]$

ZCARD命令,显示集合中的元素个数

ZCOUNT命令,显示集合中指定的序号范围内的元素的个数

redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
1) "xue"
2) "0"
3) "lian"
4) "1"
5) "bo"
6) "2"
redis 127.0.0.1:6379> ZCARD zset1 //显示元素的个数
(integer) 3
redis 127.0.0.1:6379> ZCOUNT zset1 1 2//显示序号范围内的元素个数
(integer) 2

为元素的序号进行自增:ZINCRBY

redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
1) "xue"
2) "0"
3) "lian"
4) "1"
5) "bo"
6) "2"
redis 127.0.0.1:6379> zincrby zset1 5 xue //对元素 xue 的序号进行自增5
"5"
redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
1) "lian"
2) "1"
3) "bo"
4) "2"
5) "xue"
6) "5"
redis 127.0.0.1:6379>

ZREVRANGE 倒序显示元素

ZRANGEBYSCORE 根据序号的范围显示元素

ZRANK 显示某个元素在集合中位置根据序号

ZREVRANK 反向

redis 127.0.0.1:6379> ZREVRANGE zset1 0 -1 withscores
1) "xue"
2) "5"
3) "bo"
4) "2"
5) "lian"
6) "1"
redis 127.0.0.1:6379> ZRANGEBYSCORE zset1 5 5
1) "xue"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> ZRANK zset1 xue
(integer) 2
redis 127.0.0.1:6379> ZREVRANK zset1 xue
(integer) 0
redis 127.0.0.1:6379>

ZREM 删除元素

redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
 1) "xue"
 2) "0"
 3) "lian"
 4) "1"
 5) "bo"
 6) "2"
 7) "is"
 8) "3"
 9) "a"
10) "4"
11) "good"
12) "5"
13) "man"
14) "6"
15) "."
16) "7"
redis 127.0.0.1:6379> zrem zset1 xue lian bo
(integer) 3
redis 127.0.0.1:6379>

删除指定范围内的元素:ZREMRANGEBYRANK

redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
 1) "is"
 2) "3"
 3) "a"
 4) "4"
 5) "good"
 6) "5"
 7) "man"
 8) "6"
 9) "."
10) "7"
redis 127.0.0.1:6379> ZREMRANGEBYRANK zset1 0 1
(integer) 2
redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
1) "good"
2) "5"
3) "man"
4) "6"
5) "."
6) "7"
redis 127.0.0.1:6379>

删除指定的序号范围内的元素:ZREMRANGEBYSCORE

redis 127.0.0.1:6379> ZRANGE zset1 0 -1  withscores
 1) "xue"
 2) "0"
 3) "lian"
 4) "1"
 5) "bo"
 6) "2"
 7) "is"
 8) "3"
 9) "a"
10) "4"
11) "good"
12) "5"
13) "man"
14) "6"
15) "."
16) "7"
redis 127.0.0.1:6379> ZREMRANGEBYSCORE zset1 5 6
(integer) 2
redis 127.0.0.1:6379> ZRANGE zset1 0 -1  withscores
 1) "xue"
 2) "0"
 3) "lian"
 4) "1"
 5) "bo"
 6) "2"
 7) "is"
 8) "3"
 9) "a"
10) "4"
11) "."
12) "7"
redis 127.0.0.1:6379>

显示元素的序号:ZSCORE

redis 127.0.0.1:6379> ZSCORE zset1 xue
"0"
redis 127.0.0.1:6379> ZSCORE zset1 lian
"1"
redis 127.0.0.1:6379>

并集并存储到第三个集合中:ZUNIONSTORE

redis 127.0.0.1:6379> ZRANGE zset1 0 -1
1) "a"
2) "b"
3) "c"
redis 127.0.0.1:6379> ZRANGE zset2 0 -1
1) "d"
2) "e"
3) "f"
redis 127.0.0.1:6379> ZUNIONSTORE zset3 2 zset1 zset2
(integer) 6
redis 127.0.0.1:6379> ZRANGE zset3 0 -1 withscores
 1) "a"
 2) "0"
 3) "b"
 4) "2"
 5) "d"
 6) "3"
 7) "c"
 8) "4"
 9) "e"
10) "4"
11) "f"
12) "5"
redis 127.0.0.1:6379>

交集并存入到四三个集合中

redis 127.0.0.1:6379> ZRANGE zset2 0 -1
1) "d"
2) "e"
3) "f"
redis 127.0.0.1:6379> ZRANGE zset3 0 -1
1) "a"
2) "b"
3) "d"
4) "c"
5) "e"
6) "f"
redis 127.0.0.1:6379> ZINTERSTORE zset4 2 zset2 zset3
(integer) 3
redis 127.0.0.1:6379> ZRANGE zset4 0 -1
1) "d"
2) "e"
3) "f"
redis 127.0.0.1:6379>
分享到:
评论

相关推荐

    Spring Boot整合Redis通过Zset数据类型+定时任务实现延迟队列教程对应源码

    本资源对应个人博客【Spring Boot整合Redis通过Zset数据类型+定时任务实现延迟队列】教程的源码,提供大家参考学习!不用积分!不用积分!不用积分!重要事情说三遍。 如果资源对你有用,给博主一键三连鼓励一下! ...

    lua-zset, redis排序集相同的lua数据结构.zip

    《lua-zset:Redis排序集在Lua中的实现与应用》 在计算机科学中,数据库管理系统的数据结构设计至关重要,尤其在高性能、高并发的场景下。Redis作为一个内存型的键值存储系统,其丰富的数据结构如哈希表、集合、...

    java redis 各类型操作实例

    本文将深入探讨如何使用Java与Redis进行各种类型的操作,并基于Maven项目管理来构建我们的示例代码。 首先,为了在Java项目中使用Redis,我们需要引入Jedis库,这是一个流行的Java Redis客户端。在Maven项目的`pom....

    java基于Redis实现排行榜功能源码

    Zset是一个集合类型的数据结构,其中的每个元素都有一个唯一的分数,这个分数决定了元素的排序。我们可以将用户的成绩或积分作为分数,用户ID作为成员,从而实现动态更新的排行榜。 在"java基于Redis Zset实现排行...

    你是否一直觉得,redis的zset_和_hset缺个东西?使的不少场景下程序变得复杂

    你是否一直觉得,redis的zset_和_hset缺个东西?使的不少场景下程序变得复杂?_没错,它缺_redismodule_qxiu

    php操作redis中的hash和zset类型数据的方法和代码例子

    以下是关于PHP操作Redis Hash和ZSet类型数据的一些详细知识点,以及相关的函数和代码示例。 1. **Hash**: Hash数据结构用于存储键值对,适合表示对象或者关联数组。以下是一些常用的操作: - **hset()**: 设置...

    php使用redis的有序集合zset实现延迟队列应用示例

    首先,我们需要理解Redis的有序集合(ZSet)。ZSet是一个集合数据结构,其中每个元素都有一个分数(Score),用于排序。在这个示例中,我们将用消息的处理时间作为Score,而消息数据则作为集合中的成员。 以下是一...

    Redis中的String类型及使用Redis解决订单秒杀超卖问题

    本系列将和大家分享Redis分布式缓存,本章主要简单介绍下Redis中的String类型,以及如何使用Redis解决订单秒杀超卖问题。 Redis中5种数据结构之String类型:key-value的缓存,支持过期,value不超过512M。 Redis是...

    8-Redis常用命令-list-set-zset.docx

    Redis 是一个开源的、基于内存的数据结构存储系统,支持五种数据类型:string(字符串)、hash(哈希)、list(列表)、set(集合)及 zset(有序集合)。本文将详细介绍 Redis 的 List 类型的命令和应用场景。 ...

    C#操作Redis明细内容 C#调用redis c#使用redis业务 C# Redis操作类 C#中Redis封装的类 C#

    3)支持多种数据类型,常见的如 string、list、hash、set、zset、bitmaps、hyperloglog、geo 4)应用场景广泛:常作为缓存使用,分布式锁、数据共享等 Redis 支持的数据类型有哪些?1)String(字符类型) 2)Hash...

    Go-redis-Golang的类型安全Redis客户端

    Go-redis是Golang语言中一个流行的Redis客户端库,它为开发者提供了类型安全的API,使得在使用Redis进行数据操作时能更好地防止错误并提升代码的可读性。本篇文章将深入探讨Go-redis库的核心特性、安装与使用、基本...

    Redis数据类型视频

    在本课程中,你将了解Redis是什么、能干什么、如何用,了解NoSQL的使用场景和概念,快速掌握Redis的安装配置、五大数据类型、常用操作命令、Redis持久化、主从复制、事务控制以及用Jedis操作进行Java开发等知识。...

    最全的Java操作Redis的工具类,利用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!.zip

    最全的Java操作Redis的工具类,利用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!Redis实用工具当前版本1.1 增加更全的方法,对之前的部分方法进行了规范命名,请放心替换成新版本。 Redis知识...

    基于Java语言的Redis Zset实现奥运金牌排行榜设计源码

    本项目是一个基于Java语言的Redis Zset实现的奥运金牌排行榜设计源码,包含33个文件,包括10个Java源文件、4个CSS样式文件、3个YAML配置文件、3个GIF图像文件、2个PNG图像文件、1个Git忽略文件、1个Markdown文件、1...

    【Redis】——常用五大数据类型之Zset,算法数据结构

    Redis中的有序集合(Zset)是一种非常有用的数据结构,它结合了集合(Set)和分数(Score)的概念,提供了一种可排序的元素集合。Zset不仅不允许元素重复,而且每个元素都关联一个唯一的分数,这个分数决定了元素在...

    c#操作Redis的5种基本类型汇总

    String类型是Redis最为基础的类型,功能强大,可以存储任意格式的数据,比如文本、数字,甚至是二进制文件。在C#中,通过使用如ServiceStack.Redis等第三方库,可以非常方便地操作Redis。例如,我们可以使用以下代码...

    php 操作redis五大数据类型实例

    本资源主要是php 操作redis五大数据类型的实例,供参考 redis安装请移步 https://blog.csdn.net/xxs18326183038/article/details/80599080

    Redis从入门到精通视频.zip

    05安装redis数据库 06回顾安装redis 07启动redis服务 08关闭redis服务 09redis客户端 10退出redis客户端 11redis的基本知识1 12redis的基本知识2 13redis的基本知识3 14redis的五种数据结构1 15redis的五种数据结构2...

    Redis全套学习笔记-带章节目录-114页.pdf

    * 有序集合(Zset):有序集合是Redis的一种数据类型,使用zadd命令添加元素,zrange命令获取指定索引范围内的元素。 Redis发布和订阅 * 发布和订阅是Redis的一种消息队列机制,允许客户端订阅一个或多个频道,...

Global site tag (gtag.js) - Google Analytics