文章目录
- 前言
- 一、创建项目
- 二、导入依赖
- 三、键操作
- 四、字符串操作
- 五、列表操作
- 六、集合操作
- 七、哈希表操作
- 八、有序集合操作
- 九、完整代码
- 1. 完整代码
- 2. 项目下载
前言
本文主要介绍如何使用 Java 操作 Redis 数据库,涵盖项目创建、依赖导入及 Redis 各数据类型(键、字符串、列表、集合、哈希表、有序集合)的常用操作示例。通过 IDEA + Maven 搭建开发环境,并基于 Jedis 客户端实现代码演示,适合 Java 开发者快速掌握 Redis 的编程接口与基本操作逻辑。
一、创建项目
在开始使用 Java 操作 Redis 之前,需先搭建开发环境。本章节以 IDEA 为开发工具,演示如何创建一个基于 Maven 的 Java 项目。通过 IDEA 的项目向导,依次选择 Java 项目类型、配置 Maven 管理依赖、指定 JDK 版本,快速生成标准的项目结构,为后续引入 Redis 依赖和编写代码做好准备。
打开IDEA,点击文件-->新建-->项目
。
如下图所示,选择Java-->输入项目名-->选择位置-->选择Maven-->选择JDK-->点击创建
。
二、导入依赖
Maven 是 Java 项目中常用的依赖管理工具,通过在 pom.xml 文件中添加 Redis 客户端(Jedis)的依赖配置,Maven 会自动下载并管理相关 Jar 包。本章节详细说明如何在 Maven 项目中引入 Jedis 依赖(版本为 5.0.1),并通过 IDEA 的依赖刷新功能完成配置,确保项目能够调用 Redis 的 Java API。
在pom.xml
文件中添加如下依赖配置。
<dependencies><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>5.0.1</version></dependency></dependencies>
添加依赖后如下图所示,点击右上角的刷新
图标下载配置Redis依赖包。
三、键操作
键(Key)是 Redis 中最基础的操作对象,本章节通过 Jedis 客户端演示键的常用操作,包括创建键值对(set/mset)、获取键值(get/mget)、查询所有键或匹配模式的键(keys)、判断键是否存在(exists)、重命名键(rename)、设置键过期时间(expire/ttl)、删除键(del)等。代码示例覆盖了键操作的核心功能,帮助理解 Redis 键的生命周期管理。
public static void keyOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给school键设置值为dy。String set = jedis.set("school", "dy");System.out.println(set);System.out.println("===============");// 示例:给k1键设置值为v1,k2键设置值为v2,k3键设置值为v3。jedis.mset("k1", "v1", "k2", "v2", "k3", "v3");System.out.println(jedis.mget("k1", "k2", "k3"));System.out.println("===============");// 示例1:查看所有键。Set<String> keys = jedis.keys("*");for (String key : keys) {System.out.println(key);}System.out.println("===============");// 示例2:查看所有以k开头的键。Set<String> keys1 = jedis.keys("k*");for (String key : keys1) {System.out.println(key);}System.out.println("===============");// 示例:查看scool键的值。String school = jedis.get("school");System.out.println(school);System.out.println("===============");// 示例:查看k1、k2、k3键的值。List<String> mget = jedis.mget("k1", "k2", "k3");for (String s : mget) {System.out.println(s);}System.out.println("===============");// 示例:查看k1键的值的序列化版本。byte[] k1s = jedis.dump("k1");System.out.println(Arrays.toString(k1s));System.out.println("===============");// 示例1:查看school键是否存在。Boolean exists = jedis.exists("school");System.out.println(exists);System.out.println("===============");// 示例2:查看k1、k2、k3、k4、k5键是否存在。long exists1 = jedis.exists("k1", "k2", "k3", "k4", "k5");System.out.println(exists1);// 示例:查看school键的值的类型。String type = jedis.type("school");System.out.println(type);System.out.println("===============");// 示例:把school键重命名为new_school键。String rename = jedis.rename("school", "new_school");System.out.println(rename);System.out.println("===============");// 示例:把k3键的生存时间设置为600秒。long expire = jedis.expire("k3", 600);System.out.println(expire);System.out.println("===============");// 示例:查看k3键的剩余存活时间。long ttl = jedis.ttl("k3");System.out.println(ttl);System.out.println("===============");// 示例:删除k3键的存活时间。long persist = jedis.persist("k3");System.out.println(persist);System.out.println("===============");// 示例1:删除school键。long del = jedis.del("school");System.out.println(del);System.out.println("===============");// 示例2:删除k1、k2、k3键。long del1 = jedis.del("k1", "k2", "k3");System.out.println(del1);System.out.println("===============");// 关闭连接jedis.close();}
四、字符串操作
字符串(String)是 Redis 最常用的数据类型,适用于存储简单的键值对。本章节通过示例代码演示字符串的常见操作,包括设置值(set/mset)、获取值(get/mget)、获取字符串长度(strlen)、截取子字符串(getrange)、替换指定索引内容(setrange)、追加内容(append)等。通过 getSet 方法还展示了原子性的 “获取旧值并设置新值” 操作。
public static void stringOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给字符串键str1设置值为value1。String set = jedis.set("str1", "value1");System.out.println(set);System.out.println("===============");// 示例:给字符串键str2、str3、str4分别设置值为value2、value3、value4。String mset = jedis.mset("str2", "value2", "str3", "value3", "str4", "value4");System.out.println(mset);System.out.println("===============");// 示例:获取字符串键str1的值。String str1 = jedis.get("str1");System.out.println(str1);System.out.println("===============");// 示例:获取字符串键str2、str3、str4的值。List<String> mget = jedis.mget("str2", "str3", "str4");for (String s : mget) {System.out.println(s);}System.out.println("===============");// 示例:获取字符串键str1的旧值,并设置新值为new_value1。String getSet = jedis.getSet("str1", "new_value1");System.out.println(getSet);// 查看设置后的新值。String str11 = jedis.get("str1");System.out.println(str11);System.out.println("===============");// 示例:获取字符串键str1的值的长度。long strlen = jedis.strlen("str1");System.out.println(strlen);System.out.println("===============");// 示例:获取字符串键str1的索引0-5的值的内容。String getrange = jedis.getrange("str1", 0, 5);System.out.println(getrange);System.out.println("===============");// 示例:把字符串键str1从索引2开始的后面三个字母的内容替换为aaa。long setrange = jedis.setrange("str1", 2, "aaa");System.out.println(setrange);// 查看设置后的新值。String str12 = jedis.get("str1");System.out.println(str12);System.out.println("===============");// 示例:向字符串键str1的结尾追加内容bbb。long append = jedis.append("str1", "bbb");System.out.println(append);// 查看设置后的新值。String str13 = jedis.get("str1");System.out.println(str13);// 关闭连接jedis.close();}
五、列表操作
列表(List)是 Redis 中有序、可重复的链表结构,支持从头部或尾部插入 / 删除元素。本章节通过代码示例演示列表的核心操作,包括右推(rpush)和左推(lpush)元素、获取列表范围元素(lrange)、获取指定索引元素(lindex)、弹出尾部(rpop)和头部(lpop)元素、移除指定元素(lrem)、获取列表长度(llen)等。列表操作适用于队列、栈等场景。
public static void listOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:在列表右端向列表color中添加多个值。// rpush color blue green purple red whitelong rpush = jedis.rpush("color", "blue", "green", "purple", "red", "white");System.out.println(rpush);System.out.println("===============");// 示例:在列表左端向列表color中添加多个值。// lpush color blue2 green2 purple2 red2 white2long lpush = jedis.lpush("color", "blue2", "green2", "purple2", "red2", "white2");System.out.println(lpush);System.out.println("===============");// 示例1:获取列表color中索引0-5的元素。List<String> color = jedis.lrange("color", 0, 5);for (String s : color) {System.out.println(s);}System.out.println("===============");// 示例2:获取列表color中的所有元素。List<String> color1 = jedis.lrange("color", 0, -1);for (String s : color1) {System.out.println(s);}System.out.println("===============");// 示例:获取列表color中索引为2的元素。String color2 = jedis.lindex("color", 2);System.out.println(color2);System.out.println("===============");// 示例:移除并获取列表color中的最后一个(最右端)元素。String rpop = jedis.rpop("color");System.out.println(rpop);System.out.println("===============");// 示例:移除并获取列表color中的第一个(最左端)元素。String lpop = jedis.lpop("color");System.out.println(lpop);System.out.println("===============");// 示例:获取列表color的长度。long llen = jedis.llen("color");System.out.println(llen);System.out.println("===============");// 示例1:从列表开头开始搜索移除列表color中1个red元素。long lrem = jedis.lrem("color", 1, "red");System.out.println(lrem);System.out.println("===============");// 示例2:从列表结尾开始搜索移除列表color中3个blue元素。long lrem1 = jedis.lrem("color", -3, "blue");System.out.println(lrem1);System.out.println("===============");// 示例3:移除列表color中所有blue2元素。long lrem2 = jedis.lrem("color", 0, "blue2");System.out.println(lrem2);System.out.println("===============");// 关闭连接jedis.close();}
六、集合操作
集合(Set)是 Redis 中无序、唯一的元素集合,支持高效的成员判断和集合运算。本章节通过示例代码演示集合的基本操作,包括添加成员(sadd)、获取成员数量(scard)、查询所有成员(smembers)、判断成员是否存在(sismember)、移除成员(srem)、移动成员到其他集合(smove)等。集合操作适用于去重、交集 / 并集 / 差集计算等场景。
public static void setOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给集合键set1添加多个成员。// sadd set1 mem1 mem2 mem3long sadd = jedis.sadd("set1", "mem1", "mem2", "mem3");System.out.println(sadd);System.out.println("===============");// 示例:查看集合键set1中成员的数量。long scard = jedis.scard("set1");System.out.println(scard);System.out.println("===============");// 示例:查看集合键set1中的所有成员。Set<String> set1 = jedis.smembers("set1");for (String s : set1) {System.out.println(s);}System.out.println("===============");// 示例:检查成员mem1是否在集合set1中。boolean sismember = jedis.sismember("set1", "mem1");System.out.println(sismember);System.out.println("===============");// 示例:移除集合set1中成员mem3。long srem = jedis.srem("set1", "mem3");System.out.println(srem);System.out.println("===============");// 示例:把集合set1中成员mem2移动到集合set2中。long smove = jedis.smove("set1", "set2", "mem2");System.out.println(smove);System.out.println("===============");// 关闭连接jedis.close();}
七、哈希表操作
哈希表(Hash)用于存储字段和值的映射关系,适合存储对象数据。本章节通过代码示例演示哈希表的常用操作,包括单个字段设置(hset)和批量设置(hmset)、获取单个字段值(hget)和多个字段值(hmget)、获取所有字段和值(hgetAll)、删除字段(hdel)等。哈希表操作能有效减少键的数量,提升数据结构化存储的效率。
public static void hashOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给哈希表student添加一个学生信息。// hset student:1 name zhangsan// hset student:1 age 19// hset student:1 address yunnanlong hset = jedis.hset("student:1", "name", "zhangsan");System.out.println(hset);long hset1 = jedis.hset("student:1", "age", "19");System.out.println(hset1);long hset2 = jedis.hset("student:1", "address", "yunnan");System.out.println(hset2);System.out.println("===============");// 示例:给哈希表student添加一个学生信息。// hmset student:2 name lisi age 20 address guizhouMap<String, String> map = new HashMap<>();map.put("name", "lisi");map.put("age", "20");map.put("address", "guizhou");String hmset = jedis.hmset("student:2", map);System.out.println(hmset);System.out.println("===============");// 示例:获取hash键student:2中name字段的值。String hget = jedis.hget("student:2", "name");System.out.println(hget);System.out.println("===============");// 示例:获取hash键student:2中name、age和address字段的值。List<String> hget1 = jedis.hmget("student:2", "name", "age", "address");for (String s : hget1) {System.out.println(s);}System.out.println("===============");// 示例:获取hash键student:2中的所有字段和值。Map<String, String> student2 = jedis.hgetAll("student:2");for (Map.Entry<String, String> entry : student2.entrySet()) {System.out.println(entry.getKey() + ": " + entry.getValue());}System.out.println("===============");// 示例:获取hash键student:2中的所有字段。Set<String> hkeys = jedis.hkeys("student:2");for (String s : hkeys) {System.out.println(s);}System.out.println("===============");// 示例:获取hash键student:2中的所有值。List<String> hvals = jedis.hvals("student:2");for (String s : hvals) {System.out.println(s);}System.out.println("===============");// 示例:删除hash键student:2中的age和address字段。long hdel = jedis.hdel("student:2", "age", "address");System.out.println(hdel);System.out.println("===============");// 关闭连接jedis.close();}
八、有序集合操作
有序集合(Sorted Set)每个成员关联一个分数(Score),通过分数实现自动排序。本章节通过示例代码演示有序集合的核心操作,包括添加成员及分数(zadd)、获取成员数量(zcard)、统计指定分数范围的成员数(zcount)、按索引范围获取成员(zrange)、获取成员分数(zscore)、移除成员(zrem)等。有序集合适用于排行榜、范围查询等场景。
public static void orderSetOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给有序集合salary添加多个分数和成员。// zadd salary 5000 zhnagsan 4500 lisi 6000 wangwuMap<String, Double> map = new HashMap<>();map.put("zhangsan", 5000.0);map.put("lisi", 4500.0);map.put("wangwu", 6000.0);long zadd = jedis.zadd("salary", map);System.out.println(zadd);System.out.println("===============");// 示例:获取有序集合salary中的成员数量。long zcard = jedis.zcard("salary");System.out.println(zcard);System.out.println("===============");// 示例:计算有序集合中分数在5000-6500之间的成员数量。long zcount = jedis.zcount("salary", 5000, 6500);System.out.println(zcount);System.out.println("===============");// 示例:根据索引范围获取有序集合salary中的成员。// zrange salary 0 1List<String> salary = jedis.zrange("salary", 0, 1);for (String s : salary) {System.out.println(s);}System.out.println("===============");// 示例:获取有序集合salary中成员wangwu的分数。Double zscore = jedis.zscore("salary", "wangwu");System.out.println(zscore);System.out.println("===============");// 示例:移除有序集合salary中成员wangwu。long zrem = jedis.zrem("salary", "wangwu");System.out.println(zrem);System.out.println("===============");// 关闭连接jedis.close();}
九、完整代码
1. 完整代码
本章节提供上述所有操作示例的整合代码,方便开发者直接参考或运行。代码包含项目初始化、依赖配置及各数据类型操作的完整逻辑,可用于验证 Redis 功能或作为实际项目的基础模板。通过完整代码示例,可快速复现文中演示的所有操作,加深对 Java 操作 Redis 的整体理解。
package org.example;import redis.clients.jedis.Jedis;import java.util.*;public class Main {public static void main(String[] args) {flushDB(1);stringOperation();keyOperation();listOperation();setOperation();hashOperation();orderSetOperation();}public static void flushDB(int dbIndex) {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(dbIndex);// 清空数据库jedis.flushDB();// 关闭连接jedis.close();}public static void keyOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给school键设置值为dy。String set = jedis.set("school", "dy");System.out.println(set);System.out.println("===============");// 示例:给k1键设置值为v1,k2键设置值为v2,k3键设置值为v3。jedis.mset("k1", "v1", "k2", "v2", "k3", "v3");System.out.println(jedis.mget("k1", "k2", "k3"));System.out.println("===============");// 示例1:查看所有键。Set<String> keys = jedis.keys("*");for (String key : keys) {System.out.println(key);}System.out.println("===============");// 示例2:查看所有以k开头的键。Set<String> keys1 = jedis.keys("k*");for (String key : keys1) {System.out.println(key);}System.out.println("===============");// 示例:查看scool键的值。String school = jedis.get("school");System.out.println(school);System.out.println("===============");// 示例:查看k1、k2、k3键的值。List<String> mget = jedis.mget("k1", "k2", "k3");for (String s : mget) {System.out.println(s);}System.out.println("===============");// 示例:查看k1键的值的序列化版本。byte[] k1s = jedis.dump("k1");System.out.println(Arrays.toString(k1s));System.out.println("===============");// 示例1:查看school键是否存在。Boolean exists = jedis.exists("school");System.out.println(exists);System.out.println("===============");// 示例2:查看k1、k2、k3、k4、k5键是否存在。long exists1 = jedis.exists("k1", "k2", "k3", "k4", "k5");System.out.println(exists1);// 示例:查看school键的值的类型。String type = jedis.type("school");System.out.println(type);System.out.println("===============");// 示例:把school键重命名为new_school键。String rename = jedis.rename("school", "new_school");System.out.println(rename);System.out.println("===============");// 示例:把k3键的生存时间设置为600秒。long expire = jedis.expire("k3", 600);System.out.println(expire);System.out.println("===============");// 示例:查看k3键的剩余存活时间。long ttl = jedis.ttl("k3");System.out.println(ttl);System.out.println("===============");// 示例:删除k3键的存活时间。long persist = jedis.persist("k3");System.out.println(persist);System.out.println("===============");// 示例1:删除school键。long del = jedis.del("school");System.out.println(del);System.out.println("===============");// 示例2:删除k1、k2、k3键。long del1 = jedis.del("k1", "k2", "k3");System.out.println(del1);System.out.println("===============");// 关闭连接jedis.close();}public static void stringOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给字符串键str1设置值为value1。String set = jedis.set("str1", "value1");System.out.println(set);System.out.println("===============");// 示例:给字符串键str2、str3、str4分别设置值为value2、value3、value4。String mset = jedis.mset("str2", "value2", "str3", "value3", "str4", "value4");System.out.println(mset);System.out.println("===============");// 示例:获取字符串键str1的值。String str1 = jedis.get("str1");System.out.println(str1);System.out.println("===============");// 示例:获取字符串键str2、str3、str4的值。List<String> mget = jedis.mget("str2", "str3", "str4");for (String s : mget) {System.out.println(s);}System.out.println("===============");// 示例:获取字符串键str1的旧值,并设置新值为new_value1。String getSet = jedis.getSet("str1", "new_value1");System.out.println(getSet);// 查看设置后的新值。String str11 = jedis.get("str1");System.out.println(str11);System.out.println("===============");// 示例:获取字符串键str1的值的长度。long strlen = jedis.strlen("str1");System.out.println(strlen);System.out.println("===============");// 示例:获取字符串键str1的索引0-5的值的内容。String getrange = jedis.getrange("str1", 0, 5);System.out.println(getrange);System.out.println("===============");// 示例:把字符串键str1从索引2开始的后面三个字母的内容替换为aaa。long setrange = jedis.setrange("str1", 2, "aaa");System.out.println(setrange);// 查看设置后的新值。String str12 = jedis.get("str1");System.out.println(str12);System.out.println("===============");// 示例:向字符串键str1的结尾追加内容bbb。long append = jedis.append("str1", "bbb");System.out.println(append);// 查看设置后的新值。String str13 = jedis.get("str1");System.out.println(str13);// 关闭连接jedis.close();}public static void listOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:在列表右端向列表color中添加多个值。// rpush color blue green purple red whitelong rpush = jedis.rpush("color", "blue", "green", "purple", "red", "white");System.out.println(rpush);System.out.println("===============");// 示例:在列表左端向列表color中添加多个值。// lpush color blue2 green2 purple2 red2 white2long lpush = jedis.lpush("color", "blue2", "green2", "purple2", "red2", "white2");System.out.println(lpush);System.out.println("===============");// 示例1:获取列表color中索引0-5的元素。List<String> color = jedis.lrange("color", 0, 5);for (String s : color) {System.out.println(s);}System.out.println("===============");// 示例2:获取列表color中的所有元素。List<String> color1 = jedis.lrange("color", 0, -1);for (String s : color1) {System.out.println(s);}System.out.println("===============");// 示例:获取列表color中索引为2的元素。String color2 = jedis.lindex("color", 2);System.out.println(color2);System.out.println("===============");// 示例:移除并获取列表color中的最后一个(最右端)元素。String rpop = jedis.rpop("color");System.out.println(rpop);System.out.println("===============");// 示例:移除并获取列表color中的第一个(最左端)元素。String lpop = jedis.lpop("color");System.out.println(lpop);System.out.println("===============");// 示例:获取列表color的长度。long llen = jedis.llen("color");System.out.println(llen);System.out.println("===============");// 示例1:从列表开头开始搜索移除列表color中1个red元素。long lrem = jedis.lrem("color", 1, "red");System.out.println(lrem);System.out.println("===============");// 示例2:从列表结尾开始搜索移除列表color中3个blue元素。long lrem1 = jedis.lrem("color", -3, "blue");System.out.println(lrem1);System.out.println("===============");// 示例3:移除列表color中所有blue2元素。long lrem2 = jedis.lrem("color", 0, "blue2");System.out.println(lrem2);System.out.println("===============");// 关闭连接jedis.close();}public static void setOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给集合键set1添加多个成员。// sadd set1 mem1 mem2 mem3long sadd = jedis.sadd("set1", "mem1", "mem2", "mem3");System.out.println(sadd);System.out.println("===============");// 示例:查看集合键set1中成员的数量。long scard = jedis.scard("set1");System.out.println(scard);System.out.println("===============");// 示例:查看集合键set1中的所有成员。Set<String> set1 = jedis.smembers("set1");for (String s : set1) {System.out.println(s);}System.out.println("===============");// 示例:检查成员mem1是否在集合set1中。boolean sismember = jedis.sismember("set1", "mem1");System.out.println(sismember);System.out.println("===============");// 示例:移除集合set1中成员mem3。long srem = jedis.srem("set1", "mem3");System.out.println(srem);System.out.println("===============");// 示例:把集合set1中成员mem2移动到集合set2中。long smove = jedis.smove("set1", "set2", "mem2");System.out.println(smove);System.out.println("===============");// 关闭连接jedis.close();}public static void hashOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给哈希表student添加一个学生信息。// hset student:1 name zhangsan// hset student:1 age 19// hset student:1 address yunnanlong hset = jedis.hset("student:1", "name", "zhangsan");System.out.println(hset);long hset1 = jedis.hset("student:1", "age", "19");System.out.println(hset1);long hset2 = jedis.hset("student:1", "address", "yunnan");System.out.println(hset2);System.out.println("===============");// 示例:给哈希表student添加一个学生信息。// hmset student:2 name lisi age 20 address guizhouMap<String, String> map = new HashMap<>();map.put("name", "lisi");map.put("age", "20");map.put("address", "guizhou");String hmset = jedis.hmset("student:2", map);System.out.println(hmset);System.out.println("===============");// 示例:获取hash键student:2中name字段的值。String hget = jedis.hget("student:2", "name");System.out.println(hget);System.out.println("===============");// 示例:获取hash键student:2中name、age和address字段的值。List<String> hget1 = jedis.hmget("student:2", "name", "age", "address");for (String s : hget1) {System.out.println(s);}System.out.println("===============");// 示例:获取hash键student:2中的所有字段和值。Map<String, String> student2 = jedis.hgetAll("student:2");for (Map.Entry<String, String> entry : student2.entrySet()) {System.out.println(entry.getKey() + ": " + entry.getValue());}System.out.println("===============");// 示例:获取hash键student:2中的所有字段。Set<String> hkeys = jedis.hkeys("student:2");for (String s : hkeys) {System.out.println(s);}System.out.println("===============");// 示例:获取hash键student:2中的所有值。List<String> hvals = jedis.hvals("student:2");for (String s : hvals) {System.out.println(s);}System.out.println("===============");// 示例:删除hash键student:2中的age和address字段。long hdel = jedis.hdel("student:2", "age", "address");System.out.println(hdel);System.out.println("===============");// 关闭连接jedis.close();}public static void orderSetOperation() {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(1);// 示例:给有序集合salary添加多个分数和成员。// zadd salary 5000 zhnagsan 4500 lisi 6000 wangwuMap<String, Double> map = new HashMap<>();map.put("zhangsan", 5000.0);map.put("lisi", 4500.0);map.put("wangwu", 6000.0);long zadd = jedis.zadd("salary", map);System.out.println(zadd);System.out.println("===============");// 示例:获取有序集合salary中的成员数量。long zcard = jedis.zcard("salary");System.out.println(zcard);System.out.println("===============");// 示例:计算有序集合中分数在5000-6500之间的成员数量。long zcount = jedis.zcount("salary", 5000, 6500);System.out.println(zcount);System.out.println("===============");// 示例:根据索引范围获取有序集合salary中的成员。// zrange salary 0 1List<String> salary = jedis.zrange("salary", 0, 1);for (String s : salary) {System.out.println(s);}System.out.println("===============");// 示例:获取有序集合salary中成员wangwu的分数。Double zscore = jedis.zscore("salary", "wangwu");System.out.println(zscore);System.out.println("===============");// 示例:移除有序集合salary中成员wangwu。long zrem = jedis.zrem("salary", "wangwu");System.out.println(zrem);System.out.println("===============");// 关闭连接jedis.close();}
}
2. 项目下载
下载地址:https://download.csdn.net/download/zcs2312852665/90849803?spm=1001.2014.3001.5501