版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目10使用Java操作Redis数据大连理工大学出版社数据库技术项目化教程(基于NoSQL)导学Redis作为高性能键值数据库,与Java结合广泛应用于缓存、队列等场景。本项目将系统讲解如何通过Java客户端操作Redis核心数据结构,并优化实际开发中的常见问题。知识目标知识目标1.掌握主流Java客户端工具2.掌握Java操作字符串的方法3.掌握Java操作哈希的方法4.掌握Java操作列表的方法5.掌握Java操作集合的方法6.掌握Java操作有序集合的方法能力目标能力目标12431.会搭建Jedis客户端工具。2.会使用Java操作字符串。3.会使用Java操作哈希。4.会使用Java操作列表。5.会使用Java操作集合。6.会使用Java操作有序集合。素质目标素质目标2.激发持续学习能动力;贰1.培养工程规范素养;壹3.培养技术伦理意识。叁任务10.1Java操作字符串【任务描述】Java通过Jedis、Lettuce等客户端库与Redis交互,可将热点数据(如用户信息、商品库存)缓存到内存中,显著降低数据库压力。本任务主要介绍如何搭建Java操作Redis的开发环境,学会使用Java代码操作Redis字符串。10.1.1环境搭建环境搭建本任务选取Java主流集成开发工具IDEA进行Java项目开发,选取Jedis作为Java操作Redis的客户端库,可以更直接地在Java代码中操作Redis原生命令。创建项目打开IDEA开发环境,选择File→New→Project,输入项目名称“redisDemo”,定位项目路径,选择Java语言和Maven构建工具添加Redis依赖打开Java项目中的pox.xml文件,添加Jedis依赖代码,其中版本号可以到Maven中央仓库()查找是否存在。右键点击pom.xml选择“Maven”→“Reloadproject”,等待IDEA自动下载依赖,下载完成后,Jedis依赖包已经安装成功测试连接Redis确认Redis服务启动后,在Java项目src目录下,找到Main.java,录入以下代码,运行程序,如果连接成功,则显示正确运行效果10.1.2
字符串常用方法10.1.2
字符串常用方法在Java中使用
Jedis
操作Redis的字符串(String)类型非常简单。常用的操作方法见表。方法名称功能说明set(Stringkey,Stringvalue)设置键值对(如果键已存在,则覆盖旧值)get(Stringkey)获取键对应的值,如果键不存在,返回
nullmset(String...keysvalues)批量设置多个键值对mget(String...keys)批量获取多个键的值del(Stringkey)删除键值对,返回实际删除的键数量(0或1)incr(Stringkey)对值自增
1(值必须是整数或浮点数)incrBy(Stringkey,longincrement)按指定步长自增decr(Stringkey)对值自减
1(值必须是整数或浮点数)decrBy(Stringkey,longdecrement)按指定步长自减append(Stringkey,Stringvalue)追加字符串到原值末尾getrange(Stringkey,longstart,longend)获取子字符串(闭区间索引)setrange(Stringkey,longoffset,Stringvalue)从指定偏移量开始覆盖字符串10.1.2
字符串常用方法(1)基础读写操作Java对Redis字符串执行基础读写操作,代码如下。publicstaticvoidmain(String[]args){
//连接本地Redis服务,默认端口6379
try(Jedisjedis=newJedis("localhost",6379)){
jedis.select(2);
//切换到索引为2的数据库,即db2
jedis.set("name","Mike");
System.out.println(jedis.get("name"));
jedis.mset("age","20","department","Sales");
System.out.println(jedis.mget("age","department"));
}}10.1.2
字符串常用方法(2)数值操作Java对Redis字符串执行数值自增操作,代码如下。publicstaticvoidmain(String[]args){ //连接本地Redis服务,默认端口6379 try(Jedisjedis=newJedis("localhost",6379)){ jedis.select(2);//切换到索引为2的数据库,即db2 System.out.println(jedis.get("age")); jedis.incrBy("age",2); System.out.println(jedis.get("age")); }}任务10.2
Java操作哈希【任务描述】本任务主要介绍Java操作Redis哈希的常用方法,通过实际例题分析操作方法,编写Java代码操作哈希数据,实现具体功能。操作哈希在Java中,Jedis作为Redis的常用客户端库,提供了丰富的API来操作Redis的哈希(Hash)数据结构。以下是关于Java操作哈希的常用操作方法。方法名称功能说明hset(Stringkey,Stringfield,Stringvalue)设置哈希表中指定字段的值hget(Stringkey,Stringfield)获取哈希表中指定字段的值hmset(Stringkey,Map<String,String>hash)同时设置哈希表中多个字段的值hgetAll(Stringkey)获取哈希表中所有字段和值hdel(Stringkey,String...fields)删除哈希表中一个或多个字段,方法返回被删除字段的数量hexists(Stringkey,Stringfield)检查哈希表中是否存在指定的字段(返回true|false)hkeys(Stringkey)获取哈希表中所有字段名hvals(Stringkey)获取哈希表中所有字段值hlen(key)返回哈希表的字段数hincrBy(Stringkey,Stringfield,longincrement)对哈希表中指定字段的整数值进行增量操作hincrByFloat(Stringkey,Stringfield,doubleincrement)对哈希表中指定字段的浮点数值进行增量操作
操作哈希(1)基础读写操作Java对Redis哈希执行基础读写操作,代码如下。publicstaticvoidmain(String[]args){//连接本地Redis服务,默认端口6379try(Jedisjedis=newJedis("localhost",6379)){jedis.select(2);//切换到索引为2的数据库,即db2jedis.hset("student1","stuName","John");//添加多个字段,使用HashMapMap<String,String>userMap=newHashMap<>();userMap.put("age","18");userMap.put("major","computer");jedis.hmset("student1",userMap);System.out.println(jedis.hkeys("student1"));//获取所有字段名System.out.println(jedis.hvals("student1"));//获取所有字段值System.out.println(jedis.hgetAll("student1"));//获取所有字段名和值}}
操作哈希(2)数值操作Java对Redis哈希执行数值自增自减操作,代码如下。publicstaticvoidmain(String[]args){//连接本地Redis服务,默认端口6379try(Jedisjedis=newJedis("localhost",6379)){jedis.select(2);//切换到索引为2的数据库,即db2System.out.println(jedis.hexists("student1","age"));//是否存在age字段jedis.hincrBy("student1","age",1);//age值增加1System.out.println(jedis.hget("student1","age"));}}任务10.3
Java操作列表【任务描述】本任务主要介绍Java操作Redis列表的常用方法,通过实际例题分析操作方法,编写Java代码操作列表数据,实现具体功能。操作列表Jedis作为Java客户端,提供了一系列方法直接映射Redis命令,确保原子性操作列表,Java中常用的列表操作方法。方法名称功能说明lpush(key,values...)左侧插入元素,若列表不存在则创建,返回列表长度rpush(key,values...)右侧插入元素,若列表不存在则创建,返回列表长度lpop(key)左侧弹出元素,若列表为空则返回nullrpop(key)右侧弹出元素,若列表为空则返回nulllrange(key,start,end)获取范围元素lindex(key,index)获取指定索引元素llen(key)获取列表长度lrem(key,count,value)移除元素ltrim(key,start,end)截断列表,保留列表中指定索引范围内的元素lset(key,index,value)修改指定索引元素
操作列表(1)基础读写操作Java对Redis列表执行基础读写操作,代码如下。publicstaticvoidmain(String[]args){ try(Jedisjedis=newJedis("localhost",6379)){ jedis.select(2); jedis.lpush("colors","red","green","blue"); jedis.rpush("colors","purple"); System.out.println("Listlength:"+jedis.llen("colors")); System.out.println("Listmembers:"+jedis.lrange("colors",0,-1)); }}
操作列表(2)列表检索操作Java对Redis列表执行内容检索操作,代码如下。publicstaticvoidmain(String[]args){ try(Jedisjedis=newJedis("localhost",6379)){ jedis.select(2); System.out.println("Index:2,Memeber:"+jedis.lindex("colors",2)); System.out.println("OldListmembers:"+jedis.lrange("colors",0,-1)); jedis.lset("colors",1,"black"); System.out.println("NewListmembers:"+jedis.lrange("colors",0,-1)); }}任务10.4
Java操作集合【任务描述】本任务主要介绍Java操作Redis集合的常用方法,通过实际例题分析操作方法,编写Java代码操作集合数据,实现具体功能。操作集合在Java中,通过Jedis客户端库,可以高效处理无序且唯一的数据需求,结合集合运算(交并差)能实现数据的快速存储与处理,常用的集合操作方法见表。方法名称功能说明sadd(key,members...)向集合中添加一个或多个元素,若元素已存在则忽略srem(key,members...)从集合中移除一个或多个元素,若元素不存在则忽略smembers(key)返回集合中的所有元素(无序)scard(key)返回集合中元素的数量sismember(key,member)检查元素是否存在于集合中,返回true或falsesrandmember(key)随机返回集合中的一个元素(不删除)spop(key)随机返回并移除集合中的一个元素sinter(key1,key2...)返回多个集合的交集sunion(key1,key2...)返回多个集合的并集sdiff(key1,key2...)返回集合key1与key2的差集smove(sourceKey,destKey,member)将元素从源集合移动到目标集合
操作集合(1)基础读写操作Java对Redis集合执行基础读写操作,代码如下。publicstaticvoidmain(String[]args){ try(Jedisjedis=newJedis("localhost",6379)){ jedis.select(2); jedis.sadd("city","nanjing","suzhou","xuzhou"); System.out.println("city:"+jedis.smembers("city")); }}
操作集合(2)集合运算操作Java对Redis集合执行交、并、差运算操作,代码如下。publicstaticvoidmain(String[]args){try(Jedisjedis=newJedis("localhost",6379)){jedis.select(2);//集合运算jedis.sadd("a","1","2","3");jedis.sadd("b","2","3","4","5");System.out.println("集合并运算"+jedis.sunion("a","b"));System.out.println("集合交运算"+jedis.sinter("a","b"));System.out.println("集合差运算"+jedis.sdiff("a","b"));}}任务10.5
Java操作有序集合【任务描述】本任务主要介绍Java操作Redis有序集合的常用方法,通过实际例题分析操作方法,编写Java代码操作有序集合数据,实现具体功能。操作有序集合在Java中,通过Jedis客户端库,也可以对Redis有序集合实现数据的读写与技术处理,常用的有序集合操作方法见表。方法名称功能说明zadd(key,score,member)向有序集合添加成员,或更新已存在成员的分数zrem(key,member)移除有序集合中的指定成员zcard(key)返回有序集合的成员数量zcount(key,min,max)统计分数在[min,max]区间内的成员数量zrange(key,start,stop)返回指定排名范围内的成员(升序),可选返回分数zrevrange(key,start,stop)返回指定排名范围内的成员(降序),可选返回分数zrangeByScore(key,min,max)返回分数在[min,max]区间内的成员(升序)zrevrangeByScore(key,max,min)返回分数在[min,max]区间内的成员(降序)zrank(key,member)返回成员的排名(升序,从0开始)zrevrank(key,member)返回成员的排名(降序,从0开始)zincrby(key,increment,member)为成员的分数增加指定增量(可为负数)
操作有序集合(1)基础读写操作Java对Redis有序集合执行基础读写操作,代码如下。publicstaticvoidmain(String[]args){try(Jedisjedis=newJedis("localhost",6379)){jedis.select(2);//准备数据:Map<成员,分数>Map<String,Double>scoreMembers=newHashMap<>();scoreMembers.put("Mary",90.0);scoreMembers.put("John",97.0);scoreMembers.put("Lucas",80.0);//批量添加jedis.zadd("score",scoreMembers);System.out.println("所有成员:"+jedis.z
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生活方式病风险评估管理方案
- 中医食疗养生配餐手册
- 设施蔬菜水肥一体化操作指引
- 肩周炎功能锻炼方案
- 区域风险分级管控实施方案
- 高血压患者低盐饮食手册
- 婴幼儿抚触按摩实操技术指引
- 抗衰老美容营养餐指引
- 湖南省邵阳市2026年中考数学模拟试卷附答案
- 老客户转介绍激励机制
- 2026左炔诺孕酮宫内缓释系统临床应用的中国专家共识
- 施工现场防物体打击专项施工方案
- 2026年初级社会工作者《社会工作综合能力》通关模拟卷及参考答案详解(突破训练)
- 小学语文综合性学习课题设计
- 武术协会财会制度
- 中国CSCO肝癌诊疗指南2025
- 货运运输生产值班制度
- 政务中心消防安全培训课件
- 多肽合成培训
- 2026年湖南单招文化素质考试模拟题含答案语数英合卷
- 雨课堂学堂在线学堂云《创新创业创造:职场竞争力密钥(MOOC)(上海对外经贸大学 )》单元测试考核答案
评论
0/150
提交评论