java取redis中的数据出现乱码

qq_21726851 2017-11-08 05:58:11
这是我从redis中取数据的代码

结果得到的是下面这样的乱码

它的正常数据格式是这样的

我想问下各位大佬 这种问题怎么解决?? 还有就是是别的工厂往redis中存数据,我不知道它存数据时的编码格式。
大家帮忙看看 感激不尽
...全文
1640 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qq_21726851 2017-11-10
目前我所知道的是出现这个问题的原因是 存到redis中的字符串长度太长了 我在redis-cli中看到的是\x1F的这种编码 我不是很了解redis 所以猜测这是redis的在自动压缩节省开销 我在java程序中凡是取到这种格式的数据都会出现乱码
  • 打赏
  • 举报
回复
qq_21726851 2017-11-10
引用 2 楼 maradona1984 的回复:
既然共用一个redis,那必须都约定好编码,不然怎么玩? 还有一个服务可以访问其他服务的redis缓存,这样做感觉不是特别好,出了问题定位都是个麻烦
这个别的工程是一个开源的工程 我的目的是取到这个工程所获得的数据 因为它把数据大部分都存到redis中了 所以我直接去取就行了
引用 1 楼 qq_35232585 的回复:
这个怎么说呢,多试几次不同方法 能解决的
我在此之前试过各种方法 包括以各种常用编码解码 甚至是换jar包 但是都没用
  • 打赏
  • 举报
回复
qq_21726851 2017-11-10
现在解决了这个问题 因为之前我用的是jedis2.9.0的jar包结果就出现了这种错误,现在我把jar包换成了aredis这个问题就解决了。这个aredis和jedis取redis中的数据的方法是不同的,至于怎么个不同法我就不赘述了 随便搜一下就有的
  • 打赏
  • 举报
回复
maradona1984 2017-11-09
既然共用一个redis,那必须都约定好编码,不然怎么玩? 还有一个服务可以访问其他服务的redis缓存,这样做感觉不是特别好,出了问题定位都是个麻烦
  • 打赏
  • 举报
回复
qq_35232585 2017-11-09
这个怎么说呢,多试几次不同方法 能解决的
  • 打赏
  • 举报
回复
发帖
Java EE
加入

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
申请成为版主
帖子事件
创建了帖子
2017-11-08 05:58
社区公告
暂无公告