redis怎么不让存byte_redis的两种存储方式string和byte对比

redis环境:redis集群(含哨兵模式,部在了两台Linux系统的机器上,每台机器四个节点,2主2备)

存储内容:Submit对象(公司代码里面的,对象里只有手机号码和短信内容不同,其他字段值都一样)

主要逻辑:存:生成submit对象-->对象转json/byte数组-->向redis存入json字符串/byte数组

取:根据key值(先设定好)从redis值-->转化为json/byte数组

其中,submit对象和json的转化是用的alibaba的fastjson,对比了几种jar,只有这个最快。项目中每个过程都是记录时间的,比如说最开始记录时间,生成完所有的submit对象,记录一次,转化成json字符串/byte数组,记录一次.....为的就是对比之后得出结论,能优化的优化,不能优化的看时间。

还有,由于组长说实际的环境上应该是redis集群部在四台机器上,所以我把每个过程用四个线程来跑。然后所有的线程跑完后在用jedis.info(()来统计下每种存储方式存完数据机器内存的变化。

直接贴结果:

10w数据

时间

内存占用

存json

10s

14M

存byte

6s

6M

存jsonMap

10s

20M

存byteMap

4s

4M

取json

7s

取byte

4s

取jsonmap

7s

取bytemap

4s

最后的结果就是:10w数据的时候,submit转json的过程要比submit转byte数组慢了2-3s,存redis的时候又慢了2s;100w数据的时候,存string的方式直接3个线程挂了,存byte也挂了1个线程。综上来说,存byte的方式要优于存string。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值