博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于kryo序列化方案的memcached-session-manager多memcached节点配
阅读量:7063 次
发布时间:2019-06-28

本文共 1199 字,大约阅读时间需要 3 分钟。

hot3.png

基于Java IO的序列化方案配置了memcached-session-manager,但是性能不好,现在先简单配置成基于kryo的

注意customConverter配置的com.test.serializer.CustomKryoRegistration这个类是自己写的类,是用来注册一些特殊类型的,同时自己负责对这些类型的序列化,可以放在项目里,也可以单独打个jar包,把以后遇到的所有复杂类型都在这里即可。项目里遇到的kryo没有注册到的类就是session里的java.util.concurrent.ConcurrentHashMap这个类,反序列化的时候本来可以做得更高效些,这里只是为了演示,直接用kryo自带的MapSerializer来反序列化

package com.test.serializer;import java.util.concurrent.ConcurrentHashMap;import com.esotericsoftware.kryo.Kryo;import com.esotericsoftware.kryo.serialize.MapSerializer;import de.javakaffee.web.msm.serializer.kryo.KryoCustomization;public class CustomKryoRegistration implements KryoCustomization {	public void customize(Kryo kryo) {		kryo.register(ConcurrentHashMap.class, new MapSerializer(kryo));	}}

感兴趣的同学请参见msm-kryo-serializer-1.4.0.jar注册wicket的MiniMap的流程(de.javakaffee.web.msm.serializer.kryo.WicketMiniMapRegistration里对MiniMap使用kryo-serializers-0.8.jar中的de.javakaffee.kryoserializers.wicket.MiniMapSerializer 单独处理)

要使用kryo进行序列化需额外添加kryo的jar包,我使用的是kryo-1.04,所需要的jar包在附件里。添加依赖的时候请注意不要引起jar包冲突,比较常见的是使用cglib和所依赖的asm的冲突,我的解决办法是留下kryo所需要的asm-3.3.1.jar,删去其他版本的asm,再将原先项目里的cglib换成cglib-nodep-2.2.jar。

转载于:https://my.oschina.net/ydsakyclguozi/blog/384696

你可能感兴趣的文章
[转]自动消失提示框
查看>>
推荐大家一个CSS书写规范
查看>>
How to Add a Binary Stream Image to ListView Columns
查看>>
考研倒计时
查看>>
蓝桥杯 【基础练习】 01字串
查看>>
HTTPS 原理解析(转)
查看>>
测试近五年有感
查看>>
【AtCoder】【DP】【思维】Prefix Median(AGC012)
查看>>
swiper轮播图(逆向自动切换类似于无限循环)
查看>>
阿里云域名解析+网站备案
查看>>
replication-manager 搭建
查看>>
CFD
查看>>
字符串拼接代码规范 转需
查看>>
ABP官方文档翻译 5.3 OData集成
查看>>
13.特殊IP的区别
查看>>
斜杠与反斜杠的记法
查看>>
利用IDEA构建springboot应用
查看>>
JAVA高级--异常处理概念和异常处理机制
查看>>
AngularJS code converage
查看>>
【ASP.NET Process Model 笔记 二】ASP.NET Http Runtime Pipeline
查看>>