参考地址:https://gitee.com/ld/J2Cache/tree/master
一、概念
内存缓存:数据缓存在物理机的内存里面,速度快,进程内可用。常见的Ehcache、caffeine
集中式缓存:统一的一个地方存储,可以为多节点提供服务。常见的 Redis、memcached
二、概述
J2Cache不是一个缓存框架,而是一个缓存框架的桥梁。通过两级缓存(内存缓存框架作为一级缓存,集中缓存框架作为二级缓存),降低二级缓存的访问次数,避免二级缓存I/O 的瓶颈。
两级缓存数据的读取策略,读取顺序为一级缓存、二级缓存、数据库,如果获取到数据,就不往下获取。
J2Cache适用于多节点服务部署,单节点也可用。多节点建数据同步方案有四个,Redis 的Pub/Sub (消息订阅)、 JGroup 、 RocketMQ 、 RabbitMQ。当某个节点的缓存数据需要更新时,会通知集群内的其余节点。其它节点收到通知后,会清掉以及缓存,重新从redis读取最新的数据
三、实现
1、下载
四、常见问题
1、缓存的有效期
J2Cache通过设置Region来定义缓存的有效期,详细参考 https://my.oschina.net/javayou/blog/3031773