byte[]转换成String[]有问题出现

byte[]转换成String[]有问题出现

一 问题描述

场景是这个样子的:一个用户A在2019年12月4日的每一分钟是否在线都会在redis中设计一个位图来标记。

例如设计一个key:20191204:用户A的id号(这个用户A的id号是唯一的),这样就有每个用户一天之后一个key,n天有n个key。那20191204:用户A的id号的value是什么?就是该用户在这一天在线不在线的位图表示。例如用户8:05在线,则setbit 20191204:用户A的id号 8*60+5 1【1:在线 0:不在线】,如果用户在11:59下线,则setbit 20191204:用户A的id号 11*60+59 0,这样就有一个位图表示【节省空间】
在这里插入图片描述

【上篇博客使用了mget,类似管道的,为了提升性能】,我查了Jedis.mget的方法
在这里插入图片描述

发现只能传进去一个String数组,返回的结果是一个List< String >,所以我就进行了返回的List< String >转换成List<byte[]>,然后就发现出错了【这个错误不是转换的错误,而是一个byte[]中是一个字节存储的,但是char是两个字节存储的,所以造成一个byte【一个字节】用char【两个字节】去存储的时候不足会填充为两个字节】,所以出现错误。

二 解决办法

小象找到了一个BinaryJedis
在这里插入图片描述

然后发现里面也有mget方法
在这里插入图片描述
这不就是我们想要的吗?

最后就成功解决了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值