zoukankan      html  css  js  c++  java
  • 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/

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

  • 相关阅读:
    Base64字符串在传递过程中加号被转成空格
    IIS无法启动,应用程序池自动关闭,应用程序池XXXX将被自动禁用 解决方案之一
    我要写程序我要写程序
    react native项目改名(仅针对android)
    webpack之html-webpack-plugin的使用
    webpack之React开发环境配置
    webpack之webpack-dev-server的使用
    html2canvas截图空白问题
    webpack源码分析——参数初始化
    webpack源码分析——配置调试环境
  • 原文地址:https://www.cnblogs.com/guanbin-529/p/8946234.html
Copyright © 2011-2022 走看看