利用ecache实现自定义缓存框架
来源:互联网 发布:淘宝网企业店铺标志 编辑:程序博客网 时间:2024/06/10 01:29
Ecache是一个基于纯Java进程的内存缓存框架,被用于开源的orm框架hibernate上,是一个开源的分布式缓存。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。
我们可以利用ecache根据自己需要通过封装Ecache,实现站点的缓存功能。
- 首先自定义简单缓存访问接口SimpleCache
public interface SimpleCache<K, V> {V get(K key);void put(K key, V value);boolean remove(K key);void clear();boolean containsKey(K key);}
- 实现缓存接口
public class Ehcache<K, V> implements SimpleCache<K, V>{static CacheManager manager = CacheManager.create();private Cache store;public Ehcache(String name) {store = new Cache(name, 100, false, false, 3600, 300); manager.addCache(store);}public Ehcache(String name, int size) {store = new Cache(name, size, false, false, 3600, 300); manager.addCache(store);}public Ehcache(String name, int size, int ttl) {store = new Cache(name, size, false, false, ttl, 300); manager.addCache(store);}@SuppressWarnings("unchecked")public V get(K key) {Element e = store.get(key);if ( e!= null ) {return (V) e.getValue();}return null;}public void put(K key, V value) {Element element = new Element(key, value); store.put(element);}public boolean remove(K key) {return store.remove(key);}@Overridepublic boolean containsKey(K key) {return store.isKeyInCache(key);} @Overridepublic void clear() {store.removeAll();}}
- 调用缓存接口
static SimpleCache<String, Object> codeList = new Ehcache<String, Object>("codeList", 10); codeList.get(key)
0 0
- 利用ecache实现自定义缓存框架
- Ecache 缓存
- ecache和redis缓存
- SpringMVC集成Ecache缓存配置
- Springboot集成ecache缓存配置
- Glide框架使用及自定义缓存实现缓存
- Ecache整合spring,使用页面、对象缓存
- ecache并发缓存文件破坏异常
- ecache页面缓存问题及处理
- 利用spring的拦截器自定义缓存的实现
- ssm+redis 如何更简洁的利用自定义注解+AOP实现redis缓存
- ssm+redis 如何更简洁的利用自定义注解+AOP实现redis缓存
- 利用NSURLProtocol实现webView缓存
- 利用ReentrantReadWriteLock实现缓存系统
- 利用Ajax实现分页缓存
- 自定义(java)的缓存实现
- 自定义计算缓存的实现
- 自定义注解框架实现
- IOS之UITabBarController
- Formale System-BDD
- ROS 教程之 navigation : 用 move_base 控制自己的机器人(2)
- android中的空指针异常NullpointExcepiton
- 毕业设计
- 利用ecache实现自定义缓存框架
- hdu 1238 Substrings (最长相同连续子序列)
- R Sprache
- 影响页面浏览性能的css属性
- iOS 怎样切换横竖屏
- SDWebImage原理及使用
- ios autolayout 使用总结
- eclipse + maven + tomcat 热部署
- Android M新控件之FloatingActionButton,TextInputLayout,Snackbar,TabLayout的使用