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