关于spring data redis 存储 对象json字符串,value值出现一些意外的字符

发布于 2022-09-04 23:43:58 字数 1104 浏览 17 评论 0

我在redis中每个key保存了一个对象的json字符串,但是取出来的多了一些奇怪的字符

this.redisTemplate.opsForValue().set(key, objectMapper.writeValueAsString(XXX),  15 * 1000);

这是取值代码:

String xxxJSON= this.redisTemplate.opsForValue().get(key);

XXX xxx = objectMapper.readValue(xxxJSON, XXX.class);

这是输出结果:

redis取到的值====   NULNULNULNULNULNULNULNULNUL。。。。。{json 内容}                               

这是 redis manager 里看到的

\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00。。。。。。。。。。。。还有很多{json数据}

前面的NUL日志输出是能看到的,但是复制出来 却都是空格, 为了让大家看到效果,手写的NUL

主要的问题,我要把取出的数据,转化为对象,如果去掉前面的NUL,是可以转化为对象的,加上就报错,可是复制出那些又都是空格,
其它数据还好 set list 或者字符串 都没问题,唯有json字符串出现了这个问题。

有没有大神遇到过这种问题,主要是不明白为什么会出现这种问题,json字符串也是字符串啊,为什么普通的字符串不出现这种问题,json字符串出现这种问题

另外尝试用s 匹配空格替换和trim去掉前后空格,都没有作用,字符串没有变换

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

咿呀咿呀哟 2022-09-11 23:43:59

trim去掉空格可以用,测试的时候不是最新代码,"s"不能匹配,不知道怎么回事,另外Java Date对象存储到redis中,自动转化为时间戳,转化的时间戳比真实时间少了一个小时,原因都没找到,真坑啊

用的就是StringRedistemplate

童话里做英雄 2022-09-11 23:43:59

用StringRedisTemplate代替RedisTemplate试试

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文