码迷,mamicode.com
首页 > 系统相关 > 详细

memcached subList序列化问题

时间:2017-02-11 11:01:46      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:一行代码   sub   als   不能   size   article   源码   false   10个   

某个业务场景需要将list超过10个元素时截取前10个然后再丢memcached缓存,因此写了这么一行代码

if(list.size()>10){
    list=list.subList(0, 10);
}
cache.put(key,list)

然而put返回了false,于是怀疑是序列化问题。
做了下如下测试

System.out.println(list instanceof Serializable);
System.out.println(list.subList(0, 10) instanceof Serializable);
//返回如下
true
false

也就是说sublist没有实现序列化,查看源码发现果真如此,因此不能直接将subList返回结果直接丢缓存。
只能重新封装下

cache.put(key,new LinkedList(cache.put(key,list)))

作者:chulung

原文链接:https://chulung.com/article/65

本文由MetaCLBlog于2017-02-11 09:00:02自动同步至cnblogs

false

memcached subList序列化问题

标签:一行代码   sub   als   不能   size   article   源码   false   10个   

原文地址:http://www.cnblogs.com/chulung/p/6388633.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!