Redis:Jedis的封装类:RedisTemplate在Springboot中的使用

一、 首先RedisTemplate是什么?

RedisTemplate简单来说就是Jedis的封装,

在没有RedisTemplate之前,我们需要为每一个Redis连接做这些事情:

1)Redis连接池
2)Redis服务器
3)写Redis操作语句
4)Redis连接销毁

问题的关键点在于我们只对3感兴趣啊,对于每一个连接1,2,4都要做,就很烦

有了RedisTemplate之后以上通通交给了RedisTemplate去做,我们只需要简单配置一下即可,然后专心于3即可

相关Jedis配置与示例:https://blog.csdn.net/fenghuoliuxing990124/article/details/85108967

回到RedisTemplate,我们看看Springboot是如何管理RedisTemplate的:

二、在Springboot中的RedisTemplate的依赖:

在这里插入图片描述
可以看到SpringBoot中的denpendencies中是自带了redis的
在这里插入图片描述
所以在项目中RedisTemplate是可以直接使用的,所以我们简单注入一个即可使用

在这里插入图片描述

三、对应的配置

但是光是注入对象不够,还得做基本的配置:

# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
##Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
#连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)0表示没有超时时间
spring.redis.timeout=0

配置完成了,也有RedisTemplate对象了,接下来就是如何操作的问题了

四、配套方法

RedisTemplate提供了下面几种方法供我们去操作对象

redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

这里以操作字符串为例介绍redisTemplate的常用方法

//获取Redis中的key指向的value
//设置
redisTemplate.opsForValue().set("redis:emample:1",1);

//取
redisTemplate.opsForValue().get("redis:example:1");

如果想要查看对应的操作方法

在这里插入图片描述

查看所有的方法

可以发现RedisTemplate与我们之前了解的Redis有些许不同,

比如只有increment没有decrement,那如何操作呢?

很简单看下面的参数Long,变为负数即可

在这里插入图片描述

五、补充:Redis常见的坑

假如Redis用作缓存数据库,且不在本地,就要涉及到序列化,而序列化中有很多常见的坑,如下:

Redis反序列化错误:https://blog.csdn.net/fenghuoliuxing990124/article/details/85105214

猜你喜欢

转载自blog.csdn.net/fenghuoliuxing990124/article/details/85091991