EhCache其实底层的实现就是static方法,我声名一个变量为static,实际上就把这个变量放在了缓存中,只不过EhCahce等缓存框架是封装了一层,提供了一些实用的方法并且可以进行一些配置。
下面介绍一个简单的实用EhCache的例子。
代码分成4个部分。
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
EhcacheUtil eUtil = new EhcacheUtil();
String one = eUtil.getPrame("1");
System.out.println(one);
}
}
public class EhcacheUtil {
private Cache cache ;
private void loadPrame(){
try {
CacheManager cm = CacheManager.create("src/com/x/ehcache.xml");
// cache = new Cache("b", 5000, false, false, 5, 2);
// cm.addCache(cache);
// cache = cm.getCache("b");
cache = cm.getCache("a");
PrameUtil pUtil = new PrameUtil();
for(int i=1;i<6;i++){
cache.put(new Element(String.valueOf(i),pUtil.getPrame(String.valueOf(i))));
}
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (CacheException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getPrame(String key){
String value = "";
try {
if(cache == null){loadPrame();}
Element el = cache.get((String)key);
if(el == null){loadPrame();el = cache.get((String)key);}
if(el == null){System.out.println("没有");}
else{value = el.getValue().toString();}
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (CacheException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return value;
}
}
public class PrameUtil {
public String getPrame(String key){
String value = "";
InputStream is = this.getClass().getClassLoader().getResourceAsStream("com/p/p.properties");
Properties p = new Properties();
try {
p.load(is);
value = p.getProperty(key);
} catch (IOException e) {
e.printStackTrace();
}
return value;
}
}
ehcache.xml:
<ehcache>
<defaultCache
maxElementsInMemory="1000"
eternal="true"
timeToIdleSeconds="3600"
timeToLiveSeconds="3600"
overflowToDisk="true"
/>
<cache name="a"
maxElementsInMemory="1000"
eternal="true"
timeToIdleSeconds="3600"
timeToLiveSeconds="3600"
overflowToDisk="false"
/>
</ehcache>
执行结果,输出“a"
分享到:
相关推荐
细谈Ehcache页面缓存的使用,根据本人的实践经验写的,可以用
Ehcache 是一种广泛使用的开源 Java 分布式缓存。主要面向通用缓存,Java EE 和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个 gzip 缓存 servlet 过滤器,支持 REST 和 SOAP api...
java缓存插件ehcache的应用实例
此为ehcache的使用以及集群的使用,具体需要两台机子,将ehcache 的hostName替换相应的ip即可
ehcache配置使用详解,里面有具体的例子
cache、ehcache等缓存使用,实现存对象读对象等等
EhCache使用详解,HIBERNATE缓冲
Ehcache使用: CacheManager主要的缓存管理类,一般一个应用为一个实例,如下 CacheManager.create();也可以使用new CacheManager的方式创建 默认的配置文件为ehcache.xml文件,也可以使用不同的配置: ...
NULL 博文链接:https://cczakai.iteye.com/blog/1622708
ehcache3-samples, 关于使用 Ehcache 3,一些示例/教程 Ehcache示例这里知识库包含有关 Ehcache 3用法的示例和教程。示例'basic'演示 Ehcache 3的基本配置和用法'集群'- 演示如何在Terracotta服务器上使用分布式缓存...
Spring与ehcache结合使用,本地缓存的实现
Ehcache页面缓存的使用
1.解压缩到目录下,复制ehcache-monitor-kit-1.0.0\lib\ehcache-probe-1.0.0.jar包到application的web-inf/lib目录下 2.将以下配置copy的ehcache.xml文件的ehcache标签中,注:上述链接中说的配置少写了个probe包名...
介绍 ehcache的导入过程。使用CacheManager 创建并管理Cache,默认的配置文件为ehcache.xml文件,也可以使用不同的配置。
Ehcache API,页面缓存,分布式缓存。
Ehcache 整合Spring 使用页面、对象缓存
ehcache使用例子,maven项目。
每次需要shiro做权限控制, Realm的授权方法就会被调用, 查询数据库重新完成授权! 问题: 性能开销比较大 解决: 对用户授权,只进行一次 查询,查询后,将用户授权信息放入缓存中,以后需要授权时,直接从缓存...
EhCache