内容简介:J2Cache 2.6.0 版本发布啦,该版本最最值得关注的就是支持分布式的 session 存储管理,支持不同的 Servlet 容器。 此外,该版本包含了如下小改动: 配置中对值包含空格的处理 CacheObject 允许在其他包内使用,并...
J2Cache 2.6.0 版本发布啦,该版本最最值得关注的就是支持分布式的 session 存储管理,支持不同的 Servlet 容器。
此外,该版本包含了如下小改动:
配置中对值包含空格的处理
CacheObject 允许在其他包内使用,并增加支持默认值的属性读取
增加 removeRegion 方法
优化创建 region 的锁机制
支持多种配置读取方式
Maven
<dependency> <groupId>net.oschina.j2cache</groupId> <artifactId>j2cache-core</artifactId> <version>2.6.0-release</version> </dependency>
但是!!!!最最重要的是增加了全新的分布式 session 存储模块 session-manager !
session-manager 用来实现对 Java Web 应用的分布式 session 管理,它接管了 Servlet 容器自带的 session 管理机制,通过两级缓存的引入实现 session 的分布式高性能存储,同时避免对 redis 造成太大压力。
使用步骤:
1. 首先引入 maven 依赖:
<dependency> <groupId>net.oschina.j2cache</groupId> <artifactId>j2cache-session-manager</artifactId> <version>1.0.0-beta</version> </dependency>
2. 在 web.xml 中定义全局过滤器
<filter> <filter-name>j2cache-session-filter</filter-name> <filter-class>net.oschina.j2cache.session.J2CacheSessionFilter</filter-class> <init-param><!-- 内存中存放会话数 --> <param-name>session.maxSizeInMemory</param-name> <param-value>2000</param-value> </init-param> <init-param><!-- 会话有效期,单位:秒钟 --> <param-name>session.maxAge</param-name> <param-value>1800</param-value> </init-param> <!-- cookie configuration --> <init-param> <param-name>cookie.name</param-name> <param-value>J2CACHE_SESSION_ID</param-value> </init-param> <init-param> <param-name>cookie.path</param-name> <param-value>/</param-value> </init-param> <init-param> <param-name>cookie.domain</param-name> <param-value></param-value> </init-param> <!-- redis configuration --> <init-param> <param-name>redis.mode</param-name> <param-value>single</param-value> </init-param> <init-param> <param-name>redis.hosts</param-name> <param-value>127.0.0.1:6379</param-value> </init-param> <init-param> <param-name>redis.channel</param-name> <param-value>j2cache-session</param-value> </init-param> <init-param> <param-name>redis.database</param-name> <param-value>0</param-value> </init-param> ...... </filter> <filter-mapping> <filter-name>j2cache-session-filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
根据实际环境的情况对配置中的值进行调整,并确保该过滤器优先执行。完整示例请看 web.xml
由于 session 的存储机制和普通的缓存不一样,因此 session-mananger 模块本身并不依赖 j2cache ,而是重新实现了一个精简版的 j2cache ,并针对 session 的机制进行了优化。一级缓存使用 caffeine (expireAfterAccess),二级缓存使用 redis (hash) ,基于 redis 的 pub/sub 进行消息广播,使用 fst 序列化器,而且无法修改。
目前该功能还处于 beta 测试阶段,代码量非常少(模块源码),欢迎大家试用和挑毛病。
点赞是参与开源社区的基本礼仪,欢迎 https://gitee.com/ld/J2Cache 点赞!
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 分布式存储ceph对象存储配置zone同步
- 未来的互联网存储:5 大分布式存储平台深入比较(中)
- GlusterFS分布式存储搭建双机复制卷结合Keepalived实现存储高可用
- 探索分布式存储应用
- 分布式存储架构设计
- 大数据之一 分布式存储
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Essential C++中文版
李普曼 (Stanley B.Lippman) / 侯捷 / 电子工业出版社 / 2013-8-1 / CNY 65.00
本书以四个面向来表现C++的本质:procedural(面向过程的)、generic(泛型的)、object-based(基于对象的)、objectoriented(面向对象的)。全书围绕一系列逐渐繁复的程序问题,以及用以解决这些问题的语言特性来组织。循此方式,你将不只学到C++的功能和结构,也可学到它们的设计目的和基本原理。 本书适合那些已经开始从事软件设计,又抽不出太多时间学习新技术的程......一起来看看 《Essential C++中文版》 这本书的介绍吧!
随机密码生成器
多种字符组合密码
HTML 编码/解码
HTML 编码/解码