redis系列(12):java操作redis
本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10950727.html
应用场景
在用java做接口自动化测试过程中,有时也会涉及到redis,因此需要掌握java操作redis。
创建maven项目,添加依赖
1 2 3 4 5 6 | <!-- https: //mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version> 2.9 . 0 </version> </dependency> |
连接redis
1 2 3 4 5 | System.out.println( "---连接redis---" ); Jedis jedis = new Jedis( "192.168.168.168" , 6379 ); jedis.auth( "test123" ); // redis数据库的密码 jedis.select( 0 ); // 哪怕注释这行,也没问题,因为默认就是选择的db0 jedis.flushDB(); |
操作string
1 2 3 4 | System.out.println( "\n---string---" ); jedis.set( "name" , "jack" ); String name = jedis.get( "name" ); // 返回的string System.out.println( "name: " + name); |
结果:
---string---
name: jack
操作list
1 2 3 4 5 | System.out.println( "\n---list---" ); jedis.lpush( "testlist" , "aaa" , "bbb" , "ccc" ); System.out.println(jedis.lrange( "testlist" , 0 ,- 1 )); List<String> keys = jedis.lrange( "testlist" , 0 ,- 1 ); // 返回的list System.out.println(keys); |
结果:
---list---
[ccc, bbb, aaa]
[ccc, bbb, aaa]
操作set
1 2 3 4 5 | System.out.println( "\n---set---" ); jedis.sadd( "testset" , "a" , "b" , "c" ); System.out.println(jedis.smembers( "testset" )); Set<String> keys2 = jedis.smembers( "testset" ); // 返回的set System.out.println(keys2); |
结果:
---set---
[b, a, c]
[b, a, c]
操作zset
1 2 3 4 5 6 7 | System.out.println( "\n---zset---" ); jedis.zadd( "testzset" , 10 , "aa" ); jedis.zadd( "testzset" , 20 , "bb" ); jedis.zadd( "testzset" , 30 , "cc" ); System.out.println(jedis.zrange( "testzset" , 0 , - 1 )); Set<String> keys3 = jedis.zrange( "testzset" , 0 , - 1 ); // 返回的set System.out.println(keys3); |
结果:
---zset---
[aa, bb, cc]
[aa, bb, cc]
操作hash
1 2 3 4 5 6 7 8 | System.out.println( "\n---hash---" ); jedis.hset( "testhash" , "name" , "lucy" ); jedis.hset( "testhash" , "age" , "18" ); Set<String> keys4 = jedis.hkeys( "testhash" ); // 返回的set System.out.println(keys4); for (String key:keys4){ System.out.println(key+ "=" +jedis.hget( "testhash" ,key)); } |
结果:
[name, age]
name=lucy
age=18
获取所有key
1 2 3 | System.out.println( "\n---获取所有key---" ); Set<String> keys5 = jedis.keys( "*" ); // 返回的set System.out.println(keys5); |
结果:
---获取所有key---
[testlist, name, testzset, testhash, testset]
最后是需要关闭连接的
1 | jedis.close(); |
__EOF__

本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2022-12-04 【答疑】几个关于性能测试混合场景中比例控制的问题