1. 程式人生 > >Redis:Jedis的封裝類:RedisTemplate在Springboot中的使用

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