美文网首页Java webspringboot
10 | 技术选型:Ehcache、Guava Cache、Sp

10 | 技术选型:Ehcache、Guava Cache、Sp

作者: 乌鲁木齐001号程序员 | 来源:发表于2020-07-25 15:02 被阅读0次

    问题场景

    一个系统经过压测发现并发能力不理想,需要加缓存,已知:对一致性要求不高,需要缓存的数据量也可控,问:该如何选择缓存框架?

    • 这个情况的话,用客户端缓存就行了,客户端缓存有很多框架可供选择:Ehcache、Guava Cache、Spring Cache;

    Ehcache 特点

    • 多级缓存策略,可以嵌入 Hibernate,Mybatis 中;
    • 缓存的数据可以放在内存或磁盘中;
    • 缓存的数据在 JVM 重启的时候可以写入磁盘中;
    • 可以使用 RMI 或接口的方式实现分布式缓存;
    • 允许注册事件来监听缓存,当缓存的数据增删改的时候,可以收到一个通知;

    Guava Cache 特点

    • 相对于 CurrentHashMap,会限制内存的使用,会自动回收内存;

    Spring Cache

    • 通过少量配置就可以使得既有代码支持缓存;
    • 不用安装或部署额外的第三方组件就可以使用缓存;
    • 支持 Spring Express Language,可以支持变量的定义和一些表达式;
    • 支持 AspectJ,通过注解,可以实现缓存的提前加载或删除;
    • 支持自定义 key,具有相当的灵活性和扩展性;

    客户端缓存的区别与选型

    缓存框架 能否持久化 是否有集群方案 体积是否庞大 是否有辅助功能 是否轻量
    Ehcahe 相对大
    Guava Cache
    Spring Cache
    • Spring Cache 不仅可以自己使用,还可以与其他缓存框架做整合;
    • 对于文章一开始的场景,可以使用 Spring Cache + Ehcache 的组合方式;

    相关文章

      网友评论

        本文标题:10 | 技术选型:Ehcache、Guava Cache、Sp

        本文链接:https://www.haomeiwen.com/subject/kjzplktx.html