image.png 可以看到图中RDM Redis Console 之下,当我们获取 key 为 test 的value的值,打印出来是出现了两个双引号 , 这是。Spring|Spring boot->redis value值出现两个双引号。" />

Spring|Spring boot->redis value值出现两个双引号

Spring|Spring boot->redis value值出现两个双引号
文章图片
redis value值出现两个双引号_第1张图片" style="border:1px solid black; "> image.png

可以看到图中RDM Redis Console 之下,当我们获取 key 为 test 的value的值,打印出来是出现 了两个双引号 , 这是不正确的。 如果是初学者或者不是大神, 之前没有发现这个问题, 盲目的看别人的教程(搬砖),就不知道 是如何, 图一是我从某网友分享的 redis 入门代码里截图作为例子的。 原因:可以看到红色划线部分, 在写入数据库的时候,value都需要经过序列化,当我们用 jack (JSON工具)去把数据 JSON化的时候并传入数据库都会导致这种情况( JSON格式: { "key": "value" } )。JSON已为数据添加双引号了,再用redis就会出现 两个双引号

图一:
Spring|Spring boot->redis value值出现两个双引号
文章图片
redis value值出现两个双引号_第2张图片" style="border:1px solid black; "> image.png
如何解决呢: spring data Redis 官网里边就有答案。 地址如下, 然后页面滑动到如 图二所示. 具体意思大家看自己翻译下。 我就简介的说: 主要意思: 该 序列化API 主要提供了 StringRedisSerializer 和 JDKSer....这两个 序列化类。 另外要想实现 json的序列化则使用: Jackson...或者 Gener...这两个序列化类,便可把数据序列化 成 JSON 数据。 看到这你就明白了:代码里边用的 Jackson...这个类才导致的问题,那么切换成别的序列化类不就OK了。 我们看到它自己提供了 StringRedisSerializer 这个类。顾名思义: 序列化为 字符串类型。 更改下代码即可,如下: template.setKeySerializer(new StringRedisSerializer()); 直接new一个就OJBK了。

链接地址:
https://docs.spring.io/spring-data/redis/docs/2.0.3.RELEASE/reference/html/
图二:
Spring|Spring boot->redis value值出现两个双引号
文章图片
redis value值出现两个双引号_第3张图片" style="border:1px solid black; "> image.png 【Spring|Spring boot->redis value值出现两个双引号】最后,文章受限于本人技术能力,如有问题,欢迎提出,不喜欢也可以喷我.

    推荐阅读