Spring的RedisTemplate存儲的key和value有特殊字符的處理
Spring RedisTemplate存儲的key和value有特殊字符
Spring的spring-data-redis包下有RedisTemplate類,當調(diào)用:
redisTemplate.opsForValue().set("TEST","ABCD");
方法后,Redis里實際保存的key并不完全等于我們預設的key值,而是在key值前面加了一些特殊字符
就像這樣的:
"\xac\xed\x00\x05t\x00\x0cTEST"
而保存的value可能是這樣的:
"\xac\xed\x00\x05t\x00\x10cABCD"
開頭會有類似\xac\xed\x00\x05t\x00\x0c這樣的特殊字符。
這種特殊字符出現(xiàn)的原因
是因為RedisTemplate默認使用JdkSerializationRedisSerializer作為序列化工具。
雖然保存的key和我們想象中的不太一樣,但是并不影響我們調(diào)用
redisTemplate.opsForValue().get("TEST");
去獲取之前設置的value,而且得到的value也是正確的,不帶特殊字符。
這應該是因為RedisTemplate把查詢用的key值進行同樣的序列化后再進行查詢,所以能成功的找到該條記錄,并把value反序列化后返回,得到的就是沒有特殊字符的value。
如果不想在保存的key和value里包含這種特殊字符,可以手動修改序列化方式
使用以下代碼:
@Autowired(required = false) public void setRedisTemplate(RedisTemplate redisTemplate) { RedisSerializer stringSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(stringSerializer); redisTemplate.setValueSerializer(stringSerializer); redisTemplate.setHashKeySerializer(stringSerializer); redisTemplate.setHashValueSerializer(stringSerializer); this.redisTemplate = redisTemplate; }
注意:
方法前面的@Autowired注解是需要加的。
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring Boot如何實現(xiàn)定時任務的動態(tài)增刪啟停詳解
這篇文章主要給大家介紹了關于Spring Boot如何實現(xiàn)定時任務的動態(tài)增刪啟停的相關資料,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-07-07java 獲取HttpRequest Header的幾種方法(必看篇)
下面小編就為大家?guī)硪黄猨ava 獲取HttpRequest Header的幾種方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09解決javac不是內(nèi)部或外部命令,也不是可運行程序的報錯問題
在學著使用Java的命令行來編譯java文件的時候,遇到了這個問題,本文主要介紹了解決javac不是內(nèi)部或外部命令,也不是可運行程序的報錯問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04java自帶的MessageDigest實現(xiàn)文本的md5加密算法
這篇文章主要介紹了java自帶的MessageDigest實現(xiàn)文本的md5加密算法,需要的朋友可以參考下2015-12-12基于Spring概念模型:PathMatcher 路徑匹配器
這篇文章主要介紹了Spring概念模型:PathMatcher 路徑匹配器,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09spring中@autowired、@Qualifier、@Primary注解的使用說明
這篇文章主要介紹了spring中@autowired、@Qualifier、@Primary注解的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11詳解MyBatis多數(shù)據(jù)源配置(讀寫分離)
這篇文章主要介紹了詳解MyBatis多數(shù)據(jù)源配置(讀寫分離),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01