欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring的RedisTemplate存儲的key和value有特殊字符的處理

 更新時間:2023年12月20日 15:03:30   作者:lkforce  
這篇文章主要介紹了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)增刪啟停詳解

    這篇文章主要給大家介紹了關于Spring Boot如何實現(xiàn)定時任務的動態(tài)增刪啟停的相關資料,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-07-07
  • java中Map接口常用的方法解讀

    java中Map接口常用的方法解讀

    這篇文章主要介紹了java中Map接口常用的方法解讀,Map接口是雙列集合,它的每一個元素都包含一個鍵對象key和值對象Value,鍵和值對象之間存在一種對應關系,稱為映射,需要的朋友可以參考下
    2024-01-01
  • java 獲取HttpRequest Header的幾種方法(必看篇)

    java 獲取HttpRequest Header的幾種方法(必看篇)

    下面小編就為大家?guī)硪黄猨ava 獲取HttpRequest Header的幾種方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • 解決javac不是內(nèi)部或外部命令,也不是可運行程序的報錯問題

    解決javac不是內(nèi)部或外部命令,也不是可運行程序的報錯問題

    在學著使用Java的命令行來編譯java文件的時候,遇到了這個問題,本文主要介紹了解決javac不是內(nèi)部或外部命令,也不是可運行程序的報錯問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Spring是怎么擴展解析xml接口的

    Spring是怎么擴展解析xml接口的

    這篇文章主要介紹了Spring是怎么擴展解析xml接口的,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • java自帶的MessageDigest實現(xiàn)文本的md5加密算法

    java自帶的MessageDigest實現(xiàn)文本的md5加密算法

    這篇文章主要介紹了java自帶的MessageDigest實現(xiàn)文本的md5加密算法,需要的朋友可以參考下
    2015-12-12
  • java中Map遍歷的四種方式總結

    java中Map遍歷的四種方式總結

    Map集合遍歷日常開發(fā)最常使用,下面這篇文章主要給大家總結介紹了關于java中Map遍歷的四種方式,文中通過實例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友可以參考下
    2023-03-03
  • 基于Spring概念模型:PathMatcher 路徑匹配器

    基于Spring概念模型:PathMatcher 路徑匹配器

    這篇文章主要介紹了Spring概念模型:PathMatcher 路徑匹配器,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • spring中@autowired、@Qualifier、@Primary注解的使用說明

    spring中@autowired、@Qualifier、@Primary注解的使用說明

    這篇文章主要介紹了spring中@autowired、@Qualifier、@Primary注解的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解MyBatis多數(shù)據(jù)源配置(讀寫分離)

    詳解MyBatis多數(shù)據(jù)源配置(讀寫分離)

    這篇文章主要介紹了詳解MyBatis多數(shù)據(jù)源配置(讀寫分離),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01

最新評論