JFinal 中使用 ehcache 缓存

JFinal 框架中已经自带 ehcache 插件,在项目中使用可谓是非常简单,接下来咱们看看具体怎么使用。

如果数据变化的频率很低,就可以通过缓存技术来优化网站的性能,比如 jfinal 整合的 ehcache 的使用,只需要两个设置,1 ehcache.xml 配置,2 在插件配置 configPlugin 里面加一句 me.add(new EhCachePlugin());


首先在插件配置中初始化

public void configPlugin(Plugins me) {  
          
        // 配置缓存插件  
        me.add(new EhCachePlugin());  
          
    }

配置 ehcache.xml

<?xml version="1.0" encoding="UTF-8"?>  
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xsi:noNamespaceSchemaLocation="ehcache.xsd"  
         updateCheck="false" monitoring="autodetect"  
         dynamicConfig="true">  
           
    <diskStore path="java.io.tmpdir"/>  
  
    <cache name="sampleCache1"  
           maxEntriesLocalHeap="10000"  
           maxEntriesLocalDisk="1000"  
           eternal="false"  
           overflowToDisk="true"  
           diskSpoolBufferSizeMB="20"  
           timeToIdleSeconds="300"  
           timeToLiveSeconds="100"  
           memoryStoreEvictionPolicy="LFU"  
           transactionalMode="off"  
            />  
                
</ehcache>

详细配置参考说明


http://yaokwok.com/view/36

 

代码调用

public class IndexController extends Controller{  
    public void index(){  
         Map indexMap= CacheKit.get("sampleCache1", "index");  
            if (indexMap== null) {  
                System.err.println("缓存不存在");  
                  indexMap=new HashMap();  
                  indexMap.put("test", Test.dao.find("select * from test"));  
                  CacheKit.put("sampleCache1", "index", indexMap);  
                    
            }else{  
                System.err.println("已经缓存");  
            }  
        setAttr("indexMap", indexMap);  
          
        renderJson();  
        render("index.html");  
          
    }  
}



注意:本文归作者所有,未经作者允许,不得转载