使用chcache 缓存

Posted 继续潜水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用chcache 缓存相关的知识,希望对你有一定的参考价值。

在项目里碰到了表单提交和ajax访问后台取到的request对象不是同一个对象,所以不能够资源共享,问了大神决定配置一个缓存来处理这个问题。

引用jar :ehcache-core-2.5.2.jar,ehcache-web-2.0.4.jar

 

添加 ehcache.xml

<?xml version="1.0" encoding="UTF-8"?>  
    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">  
      
        <!-- 默认缓存 -->  
        <defaultCache  
               maxElementsInMemory="1000"  
               eternal="false"  
               timeToIdleSeconds="120"  
               timeToLiveSeconds="120"  
               overflowToDisk="false"/>  
                 
        <!-- 菜单缓存 -->      
        <cache name="menuCache"   
               maxElementsInMemory="1000"   
               eternal="false"  
               timeToIdleSeconds="120"  
               timeToLiveSeconds="120"  
               overflowToDisk="false"   
               memoryStoreEvictionPolicy="LRU"/>  
          
    </ehcache>  

页面引用:存

    // 获取ehcache配置文件中的一个cache
          CacheManager cacheManager = CacheManager.create();
          Cache sample = cacheManager.getCache("menuCache");
          // 获取页面缓存
          BlockingCache cache = new BlockingCache(cacheManager.getEhcache("menuCache"));
          // 添加数据到缓存中
          Element element = new Element("outList", outList);
          sample.put(element);

页面引用:取

       // 获取ehcache配置文件中的一个cache
         CacheManager cacheManager = CacheManager.create();
         Cache sample = cacheManager.getCache("menuCache");
         // 获取页面缓存
         // 添加数据到缓存中
        
         // 获取缓存中的对象,注意添加到cache中对象要序列化 实现Serializable接口
         Element result = sample.get("outList");
         sample.remove("outList");
         List<SystemsetVo> outList    =   (List<SystemsetVo>) result.getValue();

 

以上是关于使用chcache 缓存的主要内容,如果未能解决你的问题,请参考以下文章

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

在每个用户的Rails中使用片段缓存

如何缓存片段视图

如何在 Django 中显式重置模板片段缓存?

从 Apollo 缓存中读取特定类型的所有片段