J2Cache 是一个两级的缓存框架,第一级是基于内存的数据缓存,支持 caffeine、ehcache2 和 ehcache3 ,二级缓存只支持 redis。
在某些生产环境中你可能没有 redis,但是又希望多个应用节点间的缓存数据是同步的。
配置的方法很简单:
1. 首先关闭二级缓存(使用 none 替代 redis)
j2cache.L2.provider_class = none
2. 使用 jgroups 组播替代默认的 redis pub/sub 消息订阅机制
j2cache.broadcast = jgroups
搞定!
但是需要注意的是如果你的应用是运行在云主机上的,那么这个 jgroups 组播方式可能无法工作。解决的办法就是通过 jgroups 的配置文件 network.xml 将 jgroups 的工作方式调成 TCP 多播的方式,详细的配置方法可参考 jgroups 官方文档。
J2Cache 仓库:https://gitee.com/ld/J2Cache