J2Cache 2.6.0 发布,支持分布式 session 存储管理

栏目: 服务器 · 发布时间: 5年前

内容简介:J2Cache 2.6.0 版本发布啦,该版本最最值得关注的就是支持分布式的 session 存储管理,支持不同的 Servlet 容器。此外,该版本包含了如下小改动:Maven

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 点赞!


以上所述就是小编给大家介绍的《J2Cache 2.6.0 发布,支持分布式 session 存储管理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大数据之路

大数据之路

阿里巴巴数据技术及产品部 / 电子工业出版社 / 2017-7-1 / CNY 79.00

在阿里巴巴集团内,数据人员面临的现实情况是:集团数据存储已经达到EB级别,部分单张表每天的数据记录数高达几千亿条;在2016年“双11购物狂欢节”的24小时中,支付金额达到了1207亿元人民币,支付峰值高达12万笔/秒,下单峰值达17.5万笔/秒,媒体直播大屏处理的总数据量高达百亿级别且所有数据都需要做到实时、准确地对外披露……巨大的信息量给数据采集、存储和计算都带来了极大的挑战。 《大数据......一起来看看 《大数据之路》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具