某个业务场景需要将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)))

作者:初龙

原文链接:https://chulung.com/article/memcached-sublist-serialization-problem

本文由MetaCLBlog于2017-07-17 09:16:18自动同步至cnblogs

本文基于 知识共享-署名-非商业性使用-禁止演绎 4.0 国际许可协议发布,转载必须保留署名及链接。

memcached subList序列化问题的更多相关文章

  1. 谈谈在.NET Core中使用Redis和Memcached的序列化问题

    前言 在使用分布式缓存的时候,都不可避免的要做这样一步操作,将数据序列化后再存储到缓存中去. 序列化这一操作,或许是显式的,或许是隐式的,这个取决于使用的package是否有帮我们做这样一件事. 本文 ...

  2. NET Core中使用Redis和Memcached

    .NET Core中使用Redis和Memcached的序列化问题   前言 在使用分布式缓存的时候,都不可避免的要做这样一步操作,将数据序列化后再存储到缓存中去. 序列化这一操作,或许是显式的,或许 ...

  3. 基于Java IO 序列化方案的memcached-session-manager多memcached节点配置

    在公司项目里想要在前端通过nginx将请求负载均衡,而后台的几组tomcat的session通过memcached(non-sticky模式)进行统一管理,这几组tomcat部署的web app是同一 ...

  4. 基于Memcached的tomcat集群session共享所用的jar及多个tomcat各种序列化策略配置

    原文:http://www.cnblogs.com/interdrp/p/4096466.html 多个tomcat各种序列化策略配置如下:一.java默认序列化tomcat配置conf/contex ...

  5. centos安装新版的nginx与php,添加memcahced扩展,测试memcached的json序列化

    nginx安装前置是pcre库,memcahced前置是libmemcached库,需要通过编译参数指定地址. memcached需要通过编译参数开启json,sasl,igbanry,安装过的需要删 ...

  6. Spring-4.0 + Quartz-2.2.1 集群实例(Tomcat+Memcached+Quartz集群session共享)还是没有解决Serializable序列化

  7. 关于serialVersionUID与序列化"

    java序列化trick and trap 厂内经常出现序列化对象版本不匹配问题,于是发本文说明一些序列化的注意点 调用MQ.memcached.rpc等等涉及到远程通讯的都会经过序列化,虽然客户端透 ...

  8. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  9. ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存

    ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存 part 1:给我点时间,允许我感慨一下2016年 正好有时间,总结一下最近使用的一些技术,也算是为2016年画上一个完 ...

随机推荐

  1. ACID 数据库正确执行四要素

    ACID:数据库事务正确执行所必须满足的四个基本要素的缩写: 原子性(atomicity,或叫不可分割性),一致性(consistency),隔离性(isolation,又称独立性),持久性(dura ...

  2. ubuntu小技巧(不定期更新)

    1.gedit打开windows保存的txt出现乱码 默认情况下,用ubuntu打开windows保存含有中文的txt文件时会出现乱码. 只需在终端运行以下两条命令则可解决. gsettings se ...

  3. 无限分级Repeater递归实现:读取一次数据库,使用LINQ2SQL技术,支持排序&显示隐藏

    预览效果图: Selenium 数据库结构: id(int)    classname(string)   parentid(int) sort(int用于显示与排序) 1 家居 0 1 2 家电 0 ...

  4. 使用duilib开发简单的Window安装包

    一.具体思路 安装过程:安装包的制作包括资源文件的打包,资源文件打包到安装包exe中,安装的时候需要从exe中提取出对应的资源文件, 然后解压文件安装到指定目录,然后就是对安装的可执行程序进行注册表的 ...

  5. Nytro MegaRaid

    Nytro MegaRaid简介 Dell R720xd,内存64G ,12块 SAS Dell R510xd,内存48G ,12块 SAS   SSD+SAS   SSD对于用户透明   raid会 ...

  6. [Egret]长按图片分享、分享图片、本地存储

    egret 分享有API可以把一个显示对象树渲染成一个位图纹理,我把它赋值给 HTML 的 Image 元素,就实现了图片的显示,在微信中,通过长按图片可以分享出去.当然在其他浏览器可以保存在本地. ...

  7. 用JavaScript实现表格编辑器

    实现效果: htm l代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  8. Vue自定义指令获取DOM元素

    我们知道,Vue.js的核心是数据驱动,当数据有所变化时,DOM就会被更新,比如: <span v-text="msg"></span> export de ...

  9. Failed to call ScheduleShutdown in logind, proceeding with immediate shutdown: Access denied

    装了fedora23后定时关机:sudo shutdown -h +60 弹出如下信息后立刻就关机了: Failed to call ScheduleShutdown in logind, proce ...

  10. pyqt5实现打开子窗口

    # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * class Fi ...