java取redis中的数据出现乱码

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

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

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

我想问下各位大佬 这种问题怎么解决?? 还有就是是别的工厂往redis中存数据,我不知道它存数据时的编码格式。
大家帮忙看看 感激不尽
...全文
1825 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
这个怎么说呢,多试几次不同方法 能解决的

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧