最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring的RedisTemplate存儲(chǔ)的key和value有特殊字符的處理

 更新時(shí)間:2023年12月20日 15:03:30   作者:lkforce  
這篇文章主要介紹了Spring的RedisTemplate存儲(chǔ)的key和value有特殊字符的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Spring RedisTemplate存儲(chǔ)的key和value有特殊字符

Spring的spring-data-redis包下有RedisTemplate類,當(dāng)調(diào)用:

redisTemplate.opsForValue().set("TEST","ABCD");

方法后,Redis里實(shí)際保存的key并不完全等于我們預(yù)設(shè)的key值,而是在key值前面加了一些特殊字符

就像這樣的:

"\xac\xed\x00\x05t\x00\x0cTEST"

而保存的value可能是這樣的:

"\xac\xed\x00\x05t\x00\x10cABCD"

開頭會(huì)有類似\xac\xed\x00\x05t\x00\x0c這樣的特殊字符。

這種特殊字符出現(xiàn)的原因

是因?yàn)镽edisTemplate默認(rèn)使用JdkSerializationRedisSerializer作為序列化工具。

雖然保存的key和我們想象中的不太一樣,但是并不影響我們調(diào)用

redisTemplate.opsForValue().get("TEST");

去獲取之前設(shè)置的value,而且得到的value也是正確的,不帶特殊字符。

這應(yīng)該是因?yàn)镽edisTemplate把查詢用的key值進(jìn)行同樣的序列化后再進(jìn)行查詢,所以能成功的找到該條記錄,并把value反序列化后返回,得到的就是沒有特殊字符的value。

如果不想在保存的key和value里包含這種特殊字符,可以手動(dòng)修改序列化方式

使用以下代碼:

@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注解是需要加的。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

家居| 盖州市| 罗山县| 手机| 赞皇县| 朝阳市| 顺昌县| 凭祥市| 白玉县| 石渠县| 随州市| 临桂县| 海口市| 泗洪县| 涡阳县| 奉化市| 高安市| 泰州市| 广西| 昌宁县| 昆明市| 元阳县| 泸定县| 永春县| 察哈| 尼玛县| 綦江县| 禹州市| 石城县| 凉城县| 道孚县| 霍林郭勒市| 北碚区| 甘肃省| 遵义县| 鄂托克前旗| 郸城县| 隆德县| 开原市| 宁海县| 固安县|