IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Zset如何操作Redis--基于Jedis,Java版 -> 正文阅读

[数据结构与算法]Zset如何操作Redis--基于Jedis,Java版

1、Zset概念

Zset有序集合(sorted set):

  1. 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员即元素唯一!
  2. 每个元素都会关联一个double类型的分数(score),redis正是通过这些分数(score)对集合中的元素进行排序。
  3. 有序集合的元素是唯一的,但分数(score)却可以重复。
  4. 集合中最大的元素数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个元素)。

2、Zset语法

  1. Zadd key score1 member1 [score2 member2] # 向有序集合添加一个或多个成员,或者更新已存在成员的分数
  2. Zrange key start stop [withscores] # 通过索引区间内返回有序集合指定区间内的成员
    1. start 和 stop 分别代表index的下标。
    2. withscores结果带上score值。
  3. Zcard key # 获取有序集合的成员数
  4. Zrem key member[member…] #移除有序集合中的一个或多个成员
  5. Zcount key min max # 计算在有序集合中指定分数区间的成员数
  6. Zincrby key increment member # 有序集合中指定成员的分数加上增量 increment
  7. Zrangebylex key min max [LIMIT offset count] #通过字典区间返回有序集合的成员
  8. Zrank key member # 返回有序集中指定成员的排名。 其中有序集成员按分数值递增(从小到大)顺序排列。
  9. Zrevrank key member [withscores] # 返回有序集中指定成员的排名。其中有序集成员按分数值递减(从大到小)排序。 效果和Zrevrangebyscore一样
  10. Zrangebyscore key min max [withscores] # 通过分数按照递增(从小到大)次序排列返回有序集合指定区间内的成员
    1. min max 代表score的值,Zrange 代表的是下标
    2. min max 可以搭配 闭区间 [小于等于或大于等于] 和 开区间 (小于或大于)
  11. Zrevrangebyscore key max min [withscores] # 返回有序集中指定分数区间内的成员,分数从高到低排序

3、Zset在Jedis的示例

这里选择部分进行演示,其他命令可以通过查看源码进行操作!


public class TestZset {
	public static void main(String[] args) {
		// 创建jedis对象
		Jedis jedis = new Jedis("localhost",6379);  // 如果你是用服务器,localhost改为服务器ip即可
		jedis.auth("12345688"); // 如果redis设置了密码验证,反之,则不需要该代码

		HashMap<String, Double> scoreMap = new HashMap<String, Double>();
		scoreMap.put("xiaoming",70.0);
		scoreMap.put("xiaowang",100.0);
		scoreMap.put("xiaohong",88.0);
		scoreMap.put("xiaoli",60.0);
		scoreMap.put("zhangsan",58.0);
		jedis.zadd("math", scoreMap);
		// 查看scoreMap的形式
		System.out.println("查看scoreMap的形式:"+scoreMap.toString());
		// 0 第0个元素,-1最后一个元素
		System.out.println("返回math全部元素:"+jedis.zrange("math", 0, -1));
		System.out.println("查看key有多少个元素:"+jedis.zcard("math"));
		// 移除 xiaoli 这个元素
		System.out.println("移除xiaoli 这个元素");
		jedis.zrem("math", "xiaoli");
		// -inf 负无穷  inf 正无穷,即从小到大排序
		System.out.println("按照递增顺序,返回math全部的元素(含成绩):"+jedis.zrangeByScoreWithScores("math", "-inf", "inf"));
		System.out.println("统计math集合,成绩在[80,100]之间的元素个数:"+jedis.zcount("math", 80,100 ));
	}
}

结果演示:在这里插入图片描述

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:49:54  更:2022-03-22 20:50:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:50:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码