spring-data-redis - 关于spring data redis 存储 对象json字符串,value值出现一些意外的字符
PHP中文网
PHP中文网 2017-05-31 10:31:22
0
2
1060

我在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去掉前后空格,都没有作用,字符串没有变换

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
大家讲道理

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

用的就是StringRedistemplate

淡淡烟草味

用StringRedisTemplate代替RedisTemplate试试

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板