J2Cache 2.2.1 正式版发布了。J2Cache 是 OSChina 目前正在使用的两级缓存框架。第一级缓存使用 Ehcache,第二级缓存使用 Redis 。由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。该缓存框架主要用于集群环境中。单机也可使用,用于避免应用重启导致的 Ehcache 缓存数据丢失。
强烈建议所有 J2Cache 用户更新到该版本!
J2Cache 2.2.1 的主要更新内容包括:
提供 clear 和 keys 方法在 generic 存储方式下的非 cluster 模式下可用(性能可能会比较差,慎用)
官方文档声称:KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 key ,你最好还是用 Redis 的集合结构(set)来代替。
命令行测试工具支持上下键调用历史命令记录(依赖 JLine 库)
当 Redis 重启时会导致订阅线程断开连接,J2Cache 将进行自动重连
支持指定 jgroups 配置文件名称 (jgroups.configXml = /network.xml)
删除 setIfAbsent 方法(有点多余,二级缓存以及有一些缓存框架不支持这个方法,开发者只需自行判断即可)
支持自定义的 ClusterPolicy ,详情请看 j2cache.properties
J2Cache 详细介绍
J2Cache 是 OSChina 目前正在使用的两级缓存框架。第一级缓存使用 Ehcache,第二级缓存使用 Redis 。由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。该缓存框架主要用于集群环境中。单机也可使用,用于避免应用重启导致的 Ehcache 缓存数据丢失。
J2Cache 的 Python 实现版本 —— Py3Cache
J2Cache 使用 JGroups 进行组播通讯。
J2Cache 2.3.9 有两个重大调整:
使用 Generic 模式时,写入 redis 的数据都带 TTL 参数设置,取值来自 L1 缓存中的配置
默认缓存 null 对象(2.3.9 版本以前默认不缓存 null 对象)
Hash 存储模式标识为废弃
∨ 展开