EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。
主要的特性有:
1. 快速.
2. 简单.
3. 多种缓存策略
4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题
5. 缓存数据会在虚拟机重启的过程中写入磁盘
6. 可以通过RMI、可插入API等方式进行分布式缓存
7. 具有缓存和缓存管理器的侦听接口
8. 支持多缓存管理器实例,以及一个实例的多个缓存区域
9. 提供Hibernate的缓存实现
下面是个人的写的一个通用类
package com.xyj.com.tool.cache.ehcache;
import java.io.Serializable;
import java.util.List;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheException;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
import net.sf.ehcache.ObjectExistsException;
/**
* @className:EHCacheUtil.java
* @classDescription:ehcache工具类
* @author:xiayingjie
* @createTime:2010-12-1
*/
public class EHCacheUtil {
private static CacheManager cacheManager = null;
private static Cache cache=null;
//------------------简化---------------------
/**
* 初始化缓存管理容器
*/
public static CacheManager initCacheManager() {
try {
if (cacheManager == null)
cacheManager = CacheManager.getInstance();
} catch (Exception e) {
e.printStackTrace();
}
return cacheManager;
}
/**
* 初始化缓存管理容器
*
* @param path
* ehcache.xml存放的路徑
*/
public static CacheManager initCacheManager(String path) {
try {
if (cacheManager == null)
cacheManager = CacheManager.create(path);
} catch (Exception e) {
e.printStackTrace();
}
return cacheManager;
}
/**
* 初始化cache
* @param cacheName
* @return
*/
public static Cache initCache(String cacheName) {
checkCacheManager();
if(null==cacheManager.getCache(cacheName)){
cacheManager.addCache(cacheName);
}
cache=cacheManager.getCache(cacheName);
return cache;
}
/**
* 添加缓存
* @param key
* 关键字
* @param value
* 值
*/
public static void put(Object key,Object value) {
checkCache();
// 创建Element,然后放入Cache对象中
Element element = new Element(key, value);
cache.put(element);
}
/**
* 获取cache
*
* @param key
* 关键字
* @return
*/
public static Object get(Object key){
checkCache();
Element element = cache.get(key);
return element.getObjectValue();
}
//------------------方便调用------------
/**
* 释放CacheManage
*
*/
public static void shutdown() {
cacheManager.shutdown();
}
/**
* 移除cache
* @param cacheName
*/
public static void removeCache(String cacheName){
checkCacheManager();
cache=cacheManager.getCache(cacheName);
if(null!=cache){
cacheManager.removeCache(cacheName);
}
}
/**
* 移除所有cache
*/
public static void removeAllCache(){
checkCacheManager();
cacheManager.removalAll();
}
/**
* 移除所有Element
*/
public static void removeAllKey(){
checkCache();
cache.removeAll();
}
/**
* 获取所有的cache名称
* @return
*/
public static String[]getAllCaches(){
checkCacheManager();
return cacheManager.getCacheNames();
}
/**
* 获取Cache所有的Keys
* @return
*/
public static List getKeys(){
checkCache();
return cache.getKeys();
}
/**
* 检测cacheManager
*/
private static void checkCacheManager(){
if(null==cacheManager){
throw new IllegalArgumentException("调用前请先初始化CacheManager值:EHCacheUtil.initCacheManager");
}
}
private static void checkCache(){
if(null==cache){
throw new IllegalArgumentException("调用前请先初始化Cache值:EHCacheUtil.initCache(参数)");
}
}
public static void main(String[]arg){
//初始化--必须
EHCacheUtil.initCacheManager();
//放入Test Cache中
EHCacheUtil.initCache("ceshi");
EHCacheUtil.put("F", "Test1");
System.out.println(EHCacheUtil.get("F"));
// //放入Test Cache中
// EHCacheUtil.initCache("Test");
// EHCacheUtil.put("s", "Test");
// String[]caches=EHCacheUtil.getAllCaches();
// for(String s:caches){
// System.out.println(s);
// }
//
}
}
分享到:
相关推荐
基于java的开发源码-ehcache(Java缓存框架 EhCache).zip 基于java的开发源码-ehcache(Java缓存框架 EhCache).zip 基于java的开发源码-ehcache(Java缓存框架 EhCache).zip 基于java的开发源码-ehcache(Java缓存框架 ...
**Java缓存框架 EhCache** EhCache是一个广泛使用的开源Java缓存框架,它以其高效、轻量级和易于集成的特性,在Java开发领域中占据了重要的地位。作为进程内缓存解决方案,EhCache能够在应用程序运行时存储数据,...
当我们谈论“Spring + Ehcache + Redis”两级缓存时,我们实际上是在讨论如何在Java环境中利用Spring框架来集成Ehcache作为本地缓存,并利用Redis作为分布式二级缓存,构建一个高效且可扩展的缓存解决方案。...
ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache...
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 下图是 Ehcache 在应用程序中的位置: 主要的特性有: 1. 快速.2. 简单.3. 多种缓存策略4. 缓存数据有两级:...
Ehcache是一个高性能的、基于Java的进程内缓存解决方案,它被广泛应用于各种Java应用程序,包括Java EE和轻量级容器。Ehcache的主要优势在于它的快速响应、易用性和丰富的缓存策略。它提供了两种级别的缓存存储:...
ehcache(Java缓存框架 EhCache)
Ehcache则是一款广泛使用的开源缓存解决方案,用于提高应用程序性能,减少数据库负载。本篇文章将详细探讨如何在Spring框架中集成并实现基于方法的缓存机制,利用Ehcache来优化数据访问。 首先,我们需要理解Spring...
**开源缓存包 EHCache 全接触** EHCache 是一个广泛使用的开源 Java 缓存解决方案,它被设计用于提高应用程序的性能和响应速度,通过存储数据到内存中,避免了频繁的数据库访问。EHCache 适用于多种场景,包括 Web ...
Ehcache是一款广泛使用的开源Java缓存框架,尤其在处理大量数据时,它可以显著提升应用程序的效率。本文将深入探讨Ehcache在实际应用中的实例。 一、Ehcache简介 Ehcache是由Terracotta公司开发的高性能、易用的...
JAVA源码ehcache(Java缓存框架EhCache)
EhCache是一个开源的Java缓存框架,广泛用于提高应用程序的性能和响应速度。它允许在内存中存储数据,减少对数据库的访问,从而优化系统性能。以下是对EhCache框架的一些关键知识点的详细说明: 1. **缓存概念**: ...
ehcache 缓存配置详解 Ehcache 是一个流行的 Java 缓存框架,提供了强大的缓存机制,帮助开发者提高应用程序的性能和可扩展性。 Ehcache 的配置主要包括 diskstore、defaultCache、cache 三个部分,这三个部分的...
**Ehcache缓存** Ehcache是一种广泛使用的开源Java分布式缓存系统,它为高性能应用程序提供了内存存储和缓存解决方案。在Java世界中,尤其是在持久化框架如Hibernate的使用中,Ehcache扮演了至关重要的角色。由于...
在Java世界中,缓存是优化系统性能的关键技术之一,它通过存储经常访问的数据来减少对数据库的访问,从而降低系统负载。EhCache作为其中的佼佼者,因其易用性、高效性和可扩展性而备受青睐。 EhCache的核心特性包括...
**缓存框架 Ehcache 学习笔记** Ehcache 是一个广泛使用的开源 Java 缓存框架,它在处理大量数据的高性能应用中扮演着重要角色。Ehcache 提供了本地内存缓存、磁盘存储以及分布式缓存的能力,使得应用程序能够快速...
java资源ehcache(Java缓存框架 EhCache)提取方式是百度网盘分享地址
EhCache是一个高性能、易用且广泛应用于Java环境中的分布式缓存框架。它主要用于提高应用程序的性能和响应速度,通过存储经常访问的数据到内存中,避免频繁地从数据库或者其他慢速资源中读取数据。本资料包将详细...
这篇博客文章“hibernate缓存ehcache用法”可能详细介绍了如何在Hibernate中配置和使用Ehcache。 首先,我们需要理解什么是缓存。缓存是一种存储技术,用于临时保存经常访问的数据,以减少对主存储器(如数据库)的...
在Spring Boot应用中,缓存是提升性能的关键技术之一。默认情况下,Spring Boot的`@EnableCaching`注解会使用`ConcurrentHashMap`作为基本的缓存管理器。然而,对于生产环境,我们通常需要更强大的缓存解决方案,如...