• ehcache 的配置


    配置:
    一.在src目录下加入ehcache.xml:

    <cache name="SimplePageCachingFilter"

               maxElementsInMemory="10"

               maxElementsOnDisk="10"

               eternal="false"

               overflowToDisk="true"

               diskSpoolBufferSizeMB="20"

               timeToIdleSeconds="10"

               timeToLiveSeconds="10"

               memoryStoreEvictionPolicy="LFU" />

    在使用ehcache的页面缓存之前,我们必须要了解ehcache的几个概念,

    1 timeToIdleSeconds,多长时间不访问该缓存,那么ehcache就会清除该缓存。

    2 timeToLiveSeconds,缓存的存活时间,从开始创建的时间算起。

    SimplePageCachingFilter是缓存的名字,maxElementsInMemory表示内存中SimplePageCachingFilter缓存中元素的最大数量为10,maxElementsOnDisk是指持久化该缓存的元素到硬盘上的最大数量也为10(),eternal=false意味着该缓存会死亡。overflowToDisk=true意思是表示当缓存中元素的数量超过限制时,就把这些元素持久化到硬盘,如果overflowToDisk是false,那么maxElementsOnDisk的设置就没有什么意义了。memoryStoreEvictionPolicy=LFU是指按照缓存的hit值来清除,也就是说缓存满了之后,新的对象需要缓存时,将会将缓存中hit值最小的对象清除出缓存,给新的对象腾出地方来了。

     

    ehcache 中缓存的3 种清空策略:

    1 FIFO ,first in first out , 这个是大家最熟的, 先进先出, 不多讲了

    2 LFU , Less Frequently Used , 就是上面例子中使用的策略, 直白一点就是讲一直以来最少被使用的. 如上面所讲,缓存的元素有一个hit 属性,hit 值最小的将会被清出缓存.

    2 LRU ,Least Recently Used , 最近最少使用的, 缓存的元素有一个时间戳, 当缓存容量满了, 而又需要腾出地方来缓存新的元素的时候, 那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存.

  • 相关阅读:
    解决Django在mariadb创建的表插入中文乱码的问题
    运行在CentOS7.5上的Django项目时间不正确问题
    获取百度网盘真实下载连接
    Django2.x版本在生成数据库表初始化文件报错
    Pycharm中的Django项目连接mysql数据库
    Django2.x版本路由系统的正则写法以及视图函数的返回问题
    CentOS7.5安装坚果云
    CentOS7.5安装下载工具
    CentOS6.5修改/etc/pam.d/sshd后root无法ssh登陆
    oracle 时间
  • 原文地址:https://www.cnblogs.com/ytfcz/p/3525222.html
Copyright © 2020-2023  润新知