项目缓存

1.EHCacheInit.java类中写模块的初始化方法

initModule(){

 System.out.println("***********"+Util.getNowDateStr()+"初始化模块——开始*************");

List<ModuleManager> list = new ArrayList<ModuleManager>();
try{
StringBuffer sb = new StringBuffer();
sb.append("SELECT * FROM t_modulemanager WHERE Status!=99 ORDER BY ModuleNumber");
String sql = sb.toString();
ILoadData moduleData=new LoadModule();
list=DBHelper.getList(sql,moduleData);
EHCacheHelper.putElement("moduleCache", "allModule", list);
for(ModuleManager module:list){
String ModuleName = module.getModuleName();
EHCacheHelper.putElement("moduleCache", ModuleName, module);
}
}catch(Exception e) {
Log.error(e);
System.out.println(e.getMessage());
System.out.println("***********"+Util.getNowDateStr()+"初始模块——出错*************");
}
System.out.println("***********"+Util.getNowDateStr()+"初始化模块——结束*************");

  }

2.在ehcache.xml中配置

<!-- 缓存配置
name:缓存名称。
maxElementsInMemory:缓存最大个数。
eternal:对象是否永久有效,一但设置了,timeout将不起作用。
timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。最大时间介于创建时间和失效时间之间。仅当eternal=false对象不是永久有效时使用,默认是0.,也就是对象存活时间无穷大。
overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。
diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
maxElementsOnDisk:硬盘最大缓存个数。
diskPersistent:是否缓存虚拟机重启期数据 Whether the disk store persists between restarts of the Virtual Machine. The default value is false.
diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。
clearOnFlush:内存数量最大时是否清除。
-->

<cache name="moduleCache" eternal="false" maxElementsInMemory="100" overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="0" timeToLiveSeconds="0" memoryStoreEvictionPolicy="LRU" />

3.EHCacheAop.java

@Pointcut("execution (* com.cwises.service.system.module.ModuleServiceImp.update*(..))")
public void updateModule() {
}
@Pointcut("execution (* com.cwises.service.system.systemparam.ModuleServiceImp.add*(..))")
public void addModule() {
}
@After(value = "updateModule()")
public void addModuleAfter(JoinPoint point) throws Exception {
EHCacheInit.initModule();
}
@After(value = "addModule()")
public void updateModuleAfter(JoinPoint point) throws Exception {
EHCacheInit.initModule();
}

4.CacheInit.java

init(){

  EHCacheInit.initModule();

}

时间: 2024-10-15 04:20:26

项目缓存的相关文章

Web项目缓存问题

常做WEB项目,缓存问题难免会遇到,能够找到合适的解决方案才是王道,下面是在下的几种尝试 1.在每一页的head中加入如下代码 1 <meta http-equiv="pragma" content="no-cache"> 2 <meta http-equiv="cache-control" content="no-cache"> 3 <meta http-equiv="expires&

SpringMVC Memcached 搭建WEB项目缓存框架

最近做的项目一直在使用memcached作为缓存来缓存各种数据,现在BOSS要在项目上加上缓存.并把任务交给我.便琢磨怎么解决这个问题. 看了很多文章,写的比较详尽靠谱的就是这篇了http://www.cnblogs.com/cczhoufeng/archive/2013/04/09/3009578.html,结合自身项目做出了一些改动,在此分享出来. 该套框架的基本思路是:利用Spring-AOP在项目的DAO接口层(由于项目代码经历过多次迭代,不适合放在Service层)做一个环绕切面,每次

myeclipse项目重新编译失败:清理项目缓存

1.项目清理: 选择菜单栏的Project——>Clean..——>勾选需要清理的项目(也可以选择all) 切记:clean了项目,需要重新编译 2.项目如果是maven项目,则有时候clean project并不起效.这时候需要用maven来清理缓存:右键项目——>Run As ——> Maven clean 切记:此方法清除后,需要重新进行maven编译,可以使用Maven——>Update  Project   或者 自定义的 Maven build 3.如果是以上两个

memcache真实项目缓存实例

最近因为公司的项目数据量越来越大,导致在系统在运行的时候,每一次都进行大量的查询,很多页面的查询的频率很高,所以每次都进行了差不多一模一样的查询,返回了一模一样的数据,其实这样就非常的浪费资源了,所以就将一部分常用的数据,放在缓存中,如果下次还是查询相同的内容,那么就可以直接从缓存中返回了,不需要和数据库进行交互了. 公司的客户要频繁的查自己的报表数据,返回相同的数据频率很高,现在准备把报表的数据缓存到memcache的缓存中,因为报表是一个小时更新一次,所以我们缓存数据的时间也调整到一个小时.

Eclipse中手动清理项目缓存,

用过Eclipse或MyEclipse的小伙伴肯定遇到过这种情况: 代码出错后,在前台访问出问题.然后把代码改好,已经检查不到错误,可是项目在前台访问还是有问题. 这个时候,可能就是Eclipse/MyEclipse的缓存在做怪了.现在就看下如何清理缓存吧. Eclipse下: MyEclipse下: Clean之后,应该就好了. 然后在tomcat server上右键选择clean 2.浏览器清理缓存快捷键 Ctrl+shift+delete

清除 Xcode 项目缓存

运行错误.编译错误.发布错误可尝试清除 Xcode 缓存:清除 Xcode 缓存也能减少占用磁盘空间. (1)前往文件夹(control+shift+G),删除里面的文件: /Users/用户名/Library/Developer/Xcode/DerivedData (2)同时也可在 Xcode 里点击菜单 “Product” -> “Clean” ,效果更佳

Eclipse中web项目缓存路径

eclipse运行web项目后, 默认保存到 workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps eclipse 修改配置服务器启动时间 workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml文件 tomcat项目临时目录一般是 workspace\.metadata\.plugins\org.eclipse.wst.se

清理Xcode项目缓存

当Xcode运行错误.编译错误.发布错误时可尝试清除Xcode缓存 方法1: 前往文件夹 /Users/用户名/Library/Developer/Xcode/DerivedData 将里面的文件删除 方法2: 点击菜单“Produce”->“Clean” “shift”+“command”+“k”

Java缓存学习之一:Web项目缓存机制

参考: http://blog.clzg.cn/blog-248258-814385.html http://wenku.baidu.com/link?url=2_LqZF0lkuipJYsx_42e6DDvMSdCoxgy3rWKsPzSi-tktlUcGffa0dSG3vdhAEVs4BxAFfCEJwvA6XxjNSKrnUhh2OPpbl_IiipUvehSiWK