JdkSerializationRedisSerializer、GenericJackson2JsonRedisSerializer、Jackson2JsonRedisSerializer序列化效率

原文地址:https://www.i847.cn/article/8.html

RedisTemplate序列化工具效率对比:

1.JdkSerializationRedisSerializer

2.GenericJackson2JsonRedisSerializer

3.Jackson2JsonRedisSerializer

测试代码片段:

 

@Test
public void test7(){
  Page<SysMessageEvent> page = sysMessageEventDao.findAll(Pages.Helper.pageable(1, 200, null));
  List<SysMessageEvent> list = page.getContent();
  JdkSerializationRedisSerializer j = new JdkSerializationRedisSerializer();
  GenericJackson2JsonRedisSerializer g = new GenericJackson2JsonRedisSerializer();
  Jackson2JsonRedisSerializer j2 = new Jackson2JsonRedisSerializer(List.class);
  TimeTest tt = new TimeTest();
  tt.setStartTime();
  byte[] bytesJ = j.serialize(list);
  tt.setEndTime();
  System.out.println("JdkSerializationRedisSerializer序列化时间:"+tt.getExcuteTime() + "ms,序列化后的长度:" + bytesJ.length);
  tt.setStartTime();
  j.deserialize(bytesJ);
  tt.setEndTime();
  System.out.println("JdkSerializationRedisSerializer反序列化时间:"+tt.getExcuteTime());
  tt.setStartTime();
  byte[] bytesG = g.serialize(list);
  tt.setEndTime();
  System.out.println("GenericJackson2JsonRedisSerializer序列化时间:"+tt.getExcuteTime() + "ms,序列化后的长度:" + bytesG.length);
  tt.setStartTime();
  g.deserialize(bytesG);
  tt.setEndTime();
  System.out.println("GenericJackson2JsonRedisSerializer反序列化时间:"+tt.getExcuteTime());
  tt.setStartTime();
  byte[] bytesJ2 = j2.serialize(list);
  tt.setEndTime();
  System.out.println("Jackson2JsonRedisSerializer序列化时间:"+tt.getExcuteTime() + "ms,序列化后的长度:" + bytesJ2.length);
  tt.setStartTime();
  j2.deserialize(bytesJ2);
  tt.setEndTime();
  System.out.println("Jackson2JsonRedisSerializer反序列化时间:"+tt.getExcuteTime());
}

测试数据(总共200条记录的List集合),单条类似:

{"channel":"USER_LOGIN@30-9C-23-83-D0-9C","createTime":1526973952000,"doneHost":"192.168.80.10:62016","doneServer":"he-pm","doneTime":1526973952000,"eventInfoJson":"{\"userName\":\"Mos.Jiang\",\"targetId\":\"250524c0-8869-4fc2-a4aa-278a5a5b3197\",\"localId\":\"250524c0-8869-4fc2-a4aa-278a5a5b3197\",\"first\":\"您好,您账号已经登录\",\"keyword1\":\"2018年05月22日 15:25\",\"keyword2\":\"127.0.0.1\",\"remark\":\"如果本次登录不是您本人所为,说明您的帐号已经被盗!为减少您的损失,请立即联系客服 4008271580。\"}","hasDone":1,"id":"006bdac0-0ba0-498d-b654-28fa6038f747","sendCount":1,"sendTime":1526973952000,"senderInfo":"com.mj.he800.pm.service.user.UserBaseInfoService#userLogin-215"}

测试结果:

JdkSerializationRedisSerializer序列化时间:11,序列化后的长度:94551
JdkSerializationRedisSerializer反序列化时间:15
GenericJackson2JsonRedisSerializer序列化时间:18,序列化后的长度:151108
GenericJackson2JsonRedisSerializer反序列化时间:14
Jackson2JsonRedisSerializer序列化时间:5,序列化后的长度:125489
Jackson2JsonRedisSerializer反序列化时间:3

简单地可以看出,Jackson2JsonRedisSerializer序列化和反序列化效率高,JdkSerializationRedisSerializer序列化后的结果最短

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

imooos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值