最新国产好看的视频,伊人天堂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)論

绵竹市| 达尔| 兰溪市| 馆陶县| 新巴尔虎左旗| 濉溪县| 杨浦区| 依兰县| 饶河县| 喜德县| 南靖县| 昌宁县| 宜春市| 东城区| 凤凰县| 盱眙县| 南木林县| 五河县| 德江县| 盐池县| 车险| 浦县| 瓦房店市| 昌乐县| 连州市| 昌黎县| 永济市| 沂南县| 定西市| 西充县| 横山县| 建始县| 龙海市| 霞浦县| 永年县| 博乐市| 亚东县| 佛冈县| 柳河县| 思南县| 福建省|