• J2Cache


    J2Cache

    1.使用方法

    安装 Redis

    新建一个基于 Maven 的 Java 项目

    引用 Maven

    准备配置

    • j2cache.properties
    • caffeine.properties

    编写代码

    • CacheChannel cache = J2Cache.getChannel()

    动态构建 J2Cache 实例

    • CacheChannel channel =J2CacheBuilder.init(new J2CacheConfig()).getChannel()

    集群测试

    数据读取

    • 读取顺序 -> L1 -> L2 -> DB

    • 数据更新

      • 从数据库中读取最新数据,依次更新 L1 -> L2 ,发送广播清除某个缓存信息
      • 接收到广播(手工清除缓存 & 一级缓存自动失效),从 L1 中清除指定的缓存信息

    2.常见问题

    J2Cache 的使用场景是什么?

    • 集群环境,使用 J2Cache 可以有效降低节点间的数据传输量
    • 单节点使用 J2Cache 可以避免应用重启后对后端业务系统的冲击

    为什么不能在程序中设置缓存的有效期

    • 程序中定义缓存数据的有效期会导致缓存不可控,一旦数据出问题无从查起,因此 J2Cache 的所有缓存的有效期都必须在 一级缓存 的配置中预设好再使用

    如何使用 JGroups 组播方式(无法在云主机中使用)

    • 首先修改 j2cache.properties 中的 j2cache.broadcast 值为 jgroups
    • 然后在 maven 中引入jgroups

    如何使用 ehcache 作为一级缓存

    • 首先修改 j2cache.properties 中的 j2cache.L1.provider_class 为 ehcache 或者 ehcache3,然后拷贝 ehcache.xml 或者 ehcache3.xml 到类路径,并配置好缓存,需要在项目中引入对 ehcache 的支持

    如何使用 RabbitMQ 作为消息通知

    • 首先修改 j2cache.properties 中的 j2cache.broadcast 为 rabbitmq
    • 然后在 j2cache.properties 中配置 rabbitmq.xxx 相关信息
    • 在项目中引入对 rabbitmq 的支持

    如何使用 RocketMQ 作为消息通知

    • 同RabbitMQ

    如何使用 memcached 作为二级缓存

    • 首先修改 j2cache.properties 中的 j2cache.L2.provider_class 为 memcached,然后在 j2cache.properties 中配置 memcached.xxx 相关信息
    • 需要在项目中引入对 memcached 的支持

    为什么 J2Cache 初始化时,连接本机的 Redis 非常慢,要 5 秒以上

    • 出现这种情况,请在系统 hosts 里配置机器名和IP地址的对应关系

    何种 Redis 的存储模式最佳? generic 还是 hash ?

    • 推荐使用 generic 存储模式,这也是 J2Cache 默认的存储模式,hash 模式最大的问题是无法单独对 key 进行 expire 设置。

    J2Cache 两级缓存中的 Region 到底是什么东西?

    • J2Cache 的 Region 来源于 Ehcache 的 Region
  • 相关阅读:
    晚上有些凉
    彩票-股票-外汇-加密货币-概率游戏交易思维训练1
    Maven配置MAVEN_OPTS
    线程池与CompletableFuture
    C++中的 throw详解
    一文读懂身份证ocr识别
    浏览器输入框或表单关闭自动填充autocomplete=off
    简单使用ThreadLocal、FunctionalInterface、CompletableFuture
    提升 Windows 生产力的实用工具集:Microsoft PowerToys | 开源日报 No.42
    设f(x)=∑x^n/n^2,证明f(x)+f(1-x)+lnxln(1-x)=∑1/n^2
  • 原文地址:https://blog.csdn.net/qq_40011574/article/details/127396951