java中(Spring MVC )jedis的操作合集
0.前言
项目中需要用到redis进行登陆信息的存储,项目框架是Spring MVC,目前已经集成了jedis了。这篇文章主要介绍jedis操作redis的一些基本操作。
注:jedis是redis的java客户端版本,是redis官方推荐的连接方式。
1.jedis的连接
如果你项目的单独的测试可以用下面的方式来连接。
Jedis redis = new Jedis ("127.0.0.1",6379);//连接redis
redis.auth("123456");//验证密码
我的项目因为用下面的配置文件集成了:
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg name="poolConfig" ref="genericObjectPoolConfig"/>
<constructor-arg name="host" value="${redis.host}"/>
<constructor-arg name="port" value="${redis.port}"/>
<constructor-arg name="timeout" value="${redis.timeout}"/>
<constructor-arg name="password" value="${redis.password}"/>
</bean>
所以在使用的时候只要导入
@Autowired
private JedisPool jedisPool;
然后在使用的地方使用下面代码就可以操作jedis了
Jedis jedis = jedisPool.getResource();
2.jedis的操作字符串String
可以一次性设置多个键值对
jedis.mset("user","12345","pwd","654321");
如果某些键的值是数字的情况下,可以通过下面
jedis.incr("user"); //对user字段进行加1操作
3.jedis操作Map
简单的业务需求一般来说只存取一个键值对就行,但是稍微复杂一点的可能需要存取一个简单对象。
可以通过下面的代码进行取的操作:
Jedis jedis = jedisPool.getResource();
Map<String, String> map = new HashMap<String, String>();
map.put("name", "zhangsan");
map.put("age", "18");
map.put("tel", "13112345678");
jedis.hmset("user",map);
List<String> rsmap1 = jedis.hmget("user", "name");
List<String> rsmap2 = jedis.hmget("user", "name","age","tel");
rsmap1 是取的user字段中的name的值。
rsmap2 是取的user字段中name、age、tel的值。
如下图,取出的数据是ArrayList类型
除此之外,还有其他操作:
4.jedis操作JSONobject
JSONObject object = new JSONObject();
object.put("name", "zhangsan");
object.put("age", "18");
object.put("tel", "13112345678");
jedis.set("user",object.toString());
可以看到,存的时候以json的形式存到了redis中了。
取的时候用JSON.parseObject就行,像下面这样:
可以看到,这样返回的可以操作object了。
5.jedis操作List
存放数据:
取数据:
jedis.lrange("user",0,-1);
第一个参数是key,第二个参数是起始位置,第三个参数是结束位置,-1表示取所有的。
7.jedis操作JSONArray
上面的操作如果满足不了需求,可以用上面的JSONObject和JSONArray配合使用。
这个创建后就像下面这样。
取数据的话可以通过for循环取数据进行判断。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!