• springmvc集成ehcache


    1.引入依赖

    1. <dependency>
    2. <groupId>net.sf.ehcache</groupId>
    3. <artifactId>ehcache</artifactId>
    4. <version>2.10.6</version>
    5. </dependency>

    2.ehcache.xml配置文件

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
    4. updateCheck="false">
    5. <!-- 指定一个文件目录,当EHCache把数据写到硬盘上时,将把数据写到这个文件目录下 -->
    6. <diskStore path="java.io.tmpdir" />
    7. <!-- 默认的管理策略 -->
    8. <defaultCache eternal="false" maxElementsInMemory="10000"
    9. overflowToDisk="true" diskPersistent="false" timeToIdleSeconds="120"
    10. timeToLiveSeconds="120" diskExpiryThreadIntervalSeconds="120"
    11. memoryStoreEvictionPolicy="LRU" />
    12. <!-- 此缓存最多可以存活timeToLiveSeconds秒,如果期间超过timeToIdleSeconds秒未访问,缓存失效 -->
    13. <cache name="userCache" eternal="false" maxElementsInMemory="10000"
    14. overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="3600"
    15. timeToLiveSeconds="0" memoryStoreEvictionPolicy="LRU" />
    16. <cache name="loginAttemptCache" eternal="false" maxElementsInMemory="10000"
    17. overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="86400"
    18. timeToLiveSeconds="0" memoryStoreEvictionPolicy="LRU" />
    19. <cache name="replayCache" eternal="false" maxElementsInMemory="10000"
    20. overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="0"
    21. timeToLiveSeconds="60" memoryStoreEvictionPolicy="LRU" />
    22. </ehcache>

    3. spring.xml引入

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:cache="http://www.springframework.org/schema/cache"
    6. xmlns:tx="http://www.springframework.org/schema/tx"
    7. xmlns:aop="http://www.springframework.org/schema/aop"
    8. xmlns:task="http://www.springframework.org/schema/task"
    9. xsi:schemaLocation="http://www.springframework.org/schema/beans
    10. http://www.springframework.org/schema/beans/spring-beans.xsd
    11. http://www.springframework.org/schema/context
    12. http://www.springframework.org/schema/context/spring-context.xsd
    13. http://www.springframework.org/schema/tx
    14. http://www.springframework.org/schema/tx/spring-tx.xsd
    15. http://www.springframework.org/schema/task
    16. http://www.springframework.org/schema/task/spring-task-3.0.xsd
    17. http://www.springframework.org/schema/aop
    18. http://www.springframework.org/schema/aop/spring-aop.xsd
    19. http://www.springframework.org/schema/cache
    20. http://www.springframework.org/schema/cache/spring-cache-3.2.xsd">
    21. <cache:annotation-driven cache-manager="cacheManager" />
    22. <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
    23. <property name="cacheManager" ref="ehcache"></property>
    24. </bean>
    25. <bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
    26. <property name="configLocation" value="classpath:ehcache.xml"></property>
    27. </bean>
    28. </beans>

    4.在需要使用的地方

    1. @Resource
    2. private CacheManager cacheManager;
    3. //存入
    4. Cache cache = cacheManager.getCache("userCache");
    5. cache.put("xxx", xxxx);
    6. //取出
    7. Cache cache = cacheManager.getCache("userCache");
    8. String str = cache.get("xxx", String.class);

  • 相关阅读:
    数据结构与算法
    Design Compiler工具学习笔记(5)
    使用Docker部署ElasticSearch与kibana
    2023年亚太杯数学建模思路 - 案例:最短时间生产计划安排
    service 自我升级遇到的问题
    《MySQL实战45讲》——学习笔记01 “MySQL基本架构和redo log两阶段提交“
    网络安全渗透测试工具AWVS14.6.2的安装与使用(激活)
    基于jeecgboot的主从表改造成抽屉式的字典操作模式
    1700亿烧光,利润暴跌78%!外媒:中芯国际不是麒麟9000S的代工厂
    git如何查看和修改用户名和邮箱
  • 原文地址:https://blog.csdn.net/jah5201/article/details/127842109