zoukankan      html  css  js  c++  java
  • SpringBoot整合Ehcache

    一、创建项目并导入依赖

       

    <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-cache</artifactId>

    </dependency>

    <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

    </dependency>

    <dependency>

    <groupId>net.sf.ehcache</groupId>

    <artifactId>ehcache</artifactId>

    <version>2.10.6</version>

    </dependency>

       

    二、相关配置和代码

       

    ehcache.xml模板

       

    <ehcacheupdateCheck="false"dynamicConfig="false">

    <!--表示当前系统临时目录-->

    <diskStorepath="java.io.tmpdir/ehcache"/>

       

    <!--

    name:缓存名称。

    maxElementsInMemory:缓存最大个数。

    eternal:对象是否永久有效,一但设置了,timeout将不起作用。

    timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。

    timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。最大时间介于创建时间和失效时间之间。仅当eternal=false对象不是永久有效时使用,默认是0.,也就是对象存活时间无穷大。

    overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。

    diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。

    maxElementsOnDisk:硬盘最大缓存个数。

    diskPersistent:是否缓存虚拟机重启期数据WhetherthediskstorepersistsbetweenrestartsoftheVirtualMachine.Thedefaultvalueisfalse.

    diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。

    memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。

    clearOnFlush:内存数量最大时是否清除。

    -->

       

    <defaultCachename="defaultCache"

    maxElementsInMemory="10000"

    eternal="false"

    timeToIdleSeconds="120"

    timeToLiveSeconds="120"

    overflowToDisk="false"

    maxElementsOnDisk="100000"

    diskPersistent="false"

    diskExpiryThreadIntervalSeconds="120"

    memoryStoreEvictionPolicy="LRU"/>

       

       

    <cachename="myehcache"

    maxEntriesLocalHeap="1000"

    eternal="false"

    timeToIdleSeconds="120"

    timeToLiveSeconds="120"

    overflowToDisk="false"

    diskPersistent="false"

    diskExpiryThreadIntervalSeconds="600"/>

       

    </ehcache>

       

       

    复制上面代码到

       

       

       

       

       

       

       

    这样ehcache模板就创建好了

       

       

    创建好模板就需要在resource下创建一个ehcache的xml文件

       

       

    这个文件可以自定义名字和使用ehcache作为文件名

    如果是xxx.xml就需要在application.properites指定文件了

       

    spring.cache.ehcache.config=classpath:你的文件名.xml

       

       

    如果使用ehcache.xml就不要在application.properites里面写配置了

       

       

    下面代码和SpringCache整合redis一模一样

    https://www.cnblogs.com/fernfei/p/12174174.html

       

       

    注:springcache只是制定规范,具体实现是redis或ehcache 就好比jdbc用哪个数据库直接更换数据库驱动就可以了

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

  • 相关阅读:
    2.6.2.MySQL主从复制的原理
    2.4.5 MySQL InnoDB重做与回滚介绍
    PRML读书笔记_绪论曲线拟合部分
    python3_字符串
    PRML读书笔记_绪论
    python3_列表、元组、集合、字典
    linux_软件安装
    shell获取帮助
    linux_查看磁盘与目录容量
    linux_压缩解压命令(zip/tar)
  • 原文地址:https://www.cnblogs.com/fernfei/p/12174364.html
Copyright © 2011-2022 走看看