在Java中操作Redis

在Java中操作Redis

Redis的 java客户端有很多.官方推荐的有三种:

Jedis
Lettuce
Redisson

Spring对Redis客户端进行了整合,提供了 Spring Data Redis,在Spring Boot项目中还提供了对应的Starter,即spring-boot-starter-data-redis

使用Jedis去操作redis在这里插入图片描述

使用Jedis操作Redis的步骤:

1. 获取连接
2. 执行操作
3. 关闭连接

说明:导入jedis的maven坐标后
1.1.获取连接
Jedis redis = new Jedis(“ip”,6379)
1.2 执行具体的操作
同Redis的常用命令一致,jedis.命令即可。
1.3关闭连接
jedis.close();

2.Spring Data Redis在这里插入图片描述

在Spring Boot项目中,可以使用Spring Data Redis来简化Redis操作

2.1 导入maven坐标
在这里插入图片描述
2.2 配置文件
在这里插入图片描述
在准备单元测试时,我们没有去创建RedisTemplate这个类,这里为什么还能去自动装配呢?在这里插入图片描述
在我们Springboot这个项目中的一个依赖中:
有这么一段代码:
@Bean说明这RedisTemplate对象这个是由Spring来管理维护的.
@ConditionalOnMissingBean(name = “redisTemplate”)说明他是有条件的,即如果我们没有redisTemplate这个对象的时候,才会调用这个方法,把RedisTemplate这个对象创建出来。如果我们手动创建了这个Bean,并且自己把他放到Spring容器中,则不回去调用这个方法.
在这里插入图片描述
这时候我们去测试一下在这里插入图片描述
发现问题:如果直接get city 是得不到的,这时因为RedisTemplate是由框架来提供的,我们需要将它的序列化方式改变一下
在这里插入图片描述
我们需要去创建一个配置类来改变一下key的序列化方式,这时在单元测试类注入的就是我们自己的RedisTemplate类了在这里插入图片描述
这里设置了一下Hash结构里面的field,同样把他的序列化器给修改一下。
使用SpringDataRedis操作Redis_操作String类型数据
通过模板类
在这里插入图片描述

操作String类型的对象,这里redisTemplate.opsForValue()返回的实际上就是ValueOperations这个对象。**在这里插入图片描述

使用SpringDataRedis操作Redis_操作哈希类型数据**在这里插入图片描述

获取hash接口中的所有值
hashOperations.values(“002”)–>封装成list集合
使用SpringDataRedis操作Redis_操作列表类型数据
在这里插入图片描述
listOperations.rightPop是出队尾,出一个显示,然后删一个

使用SpringDataRedis操作Redis_操作集合类型数据在这里插入图片描述

使用SpringDataRedis操作Redis _操作有序集合类型数据
操作ZSet类型的数据,其实就是sorted set这种数据
在这里插入图片描述
说明:执行.add时,最后的a会将第一个a给覆盖掉,所以取值时:
“bca”
在这里插入图片描述
在给b修改了分数后,再次输出:c a b

使用SpringDataRedis操作Redis _通用操作在这里插入图片描述

在这里插入图片描述
补充知识:1.在我们进入redis客户端后,默认连接的是本地的redis服务,且默认连接的是0号数据库。
且redis默认给我们提供了16个数据库
使用select [0-15] 来切换数据库。
同样的,我们可以在配置文件中去修改数据库的数量
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有梦想的小何

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值