• SpringBoot 缓存注解 与EhCache的使用


    在SpringBoot工程中配置EhCache缓存

     

    1.在src/main/resources下新建ehcache.xml文件

    eternal=true //缓存永久有效,false相反

    maxElementsInMemory //cache 中最多可以存放的元素的数量。如果放入cache中的元素超过这个数值,有两种情况:1、若overflowToDisk的属性值为true,会将cache中多出的元素放入磁盘文件中。2、若overflowToDisk的属性值为false,会根据memoryStoreEvictionPolicy的策略替换cache中原有的元素

    timeToLiveSeconds//为在eternal为false时,缓存失效的时间

    timeToIdleSeconds //若5分钟内,该缓存未被调用,则也会失效

    举例说明:timeToLiveSeconds =3600 timeToIdleSeconds =300

    以上配置代表缓存有效时间为3600秒(自缓存建立起一个小时有效 ),在有效的一个小时内,如果连续五分钟未访问缓存,则缓存失效,特别说明的是,就算缓存访问从未间断,到一个小时后,缓存也会失效

    配置参考 https://blog.csdn.net/mlitsn/article/details/1909192

    2.加入配置后,在DAO中使用注解

    3.当调用该方法时,首次调用数据库后,再次调用该方法时将不在查询数据库,可以在application.properties配置文件中加入打印Hibernate sql的配置

    spring.jpa.show-sql=true

    会发现,只查询了一次,说明配置生效了


    4.在新增和更新及删除时数据变了,不能还拿缓存的老数据吧 ,缓存怎么去更新呢?

    需要CacheManager去管理缓存,在新增和更新及删除时,需要使用CacheManager去刷新缓存

    CacheManager manager = CacheManager.getInstance();

    manager.getCache("findByMethodName").flush();//findByMethodName为在ehcache中配置的缓存名

    扩展内容待补充 。。。

    作者:guanbin —— 纵码万里千山

    出处:https://www.cnblogs.com/guanbin-529/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    mybatis学习笔记
    markdownPad常用功能示例
    2018-2019-2 《Java程序设计》第3周学习总结
    2018-2019-2 《Java程序设计》第2周学习总结
    2018-2019-2 《Java程序设计》第1周学习总结
    Djnago models 一对多、多对多
    Superset 安装
    lvm 添加分区
    partprobe 重新检测Linux系统分区
    Docker 、Docker Compose 安装
  • 原文地址:https://www.cnblogs.com/guanbin-529/p/8946234.html
Copyright © 2020-2023  润新知