我使用的版本是:hibernate-release-422Final
Hibernate必须的jar包:hibernate-422\hibernate-release-422Final\lib\required下的所有包
数据库驱动jar包:我用的mysql库,mysql-connector-java-5121jar
EHCache相关jar包:hibernate-422\hibernate-release-422Final\lib\optional\ehcache下的所有包
EHCache配置文件:hibernate-422\hibernate-release-422Final\project\etc下的ehcachexml文件
1、OSCache
OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何java应用程序的普通的缓存解决方案。
OSCache有以下特点:
(1)缓存任何对象,你可以不受限制的缓存部分jsp页面或>
永久缓存--缓存能随意的写入硬盘,因此答应昂贵的创建(eXPensive-to-create)数据来保持缓存,甚至能让应用重启。
(2)支持集群--集群缓存数据能被单个的进行参数配置,不需要修改代码。
缓存记录的过期--你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(假如默认性能不需要时)。
2、Java Caching System
JSC(Java Caching System)是一个用分布式的缓存系统,是基于服务器的java应用程序。它是通过提供治理各种动态缓存数据来加速动态web应用。
JCS和其他缓存系统一样,也是一个用于高速读取,低速写入的应用程序。
动态内容和报表系统能够获得更好的性能。
假如一个网站,有重复的网站结构,使用间歇性更新方式的数据库(而不是连续不断的更新数据库),被重复搜索出相同结果的,就能够通过执行缓存方式改进其性能和伸缩性。
3、EHCache
EHCache 是一个纯java的在进程中的缓存,它具有以下特性:快速,简单,为Hibernate21充当可插入的缓存,最小的依靠性,全面的文档和测试。
4、JCache
JCache是个开源程序,正在努力成为JSR-107开源规范,JSR-107规范已经很多年没改变了。这个版本仍然是构建在最初的功能定义上。
5、ShiftOne
ShiftOne Java Object Cache是一个执行一系列严格的对象缓存策略的Java lib,就像一个轻量级的配置缓存工作状态的框架。
6、SwarmCache
SwarmCache是一个简单且有效的分布式缓存,它使用ip multicast与同一个局域网的其他主机进
行通讯,是非凡为集群和数据驱动web应用程序而设计的。
SwarmCache能够让典型的读 *** 作大大超过写 *** 作的这类应用提供更好的性能支持。
SwarmCache使用JavaGroups来治理从属关系和分布式缓存的通讯。
扩展资料
Java中缓存存在的原因:
一 般情况下,一个网站,或者一个应用,它的一般形式是,浏览器请求应用服务器,应用服务器做一堆计算后再请求数据库,数据库收到请求后再作一堆计算后把数据 返回给应用服务器。
应用服务器再作一堆计算后把数据返回给浏览器,这个是一个标准流程。但是随着互连网的普及,上网的人越来越多,网上的信息量也越来越多。
数据库每秒中接受请求的次数也是有限的,如果利用有限的资源来提供尽可能大的吞吐量呢。一个办法:减少计算量,缩短请求流程(减少网络io或者硬盘io),这时候缓存就可以大展手脚了。
缓存的基本原理就是打破上图中所描绘的标准流程,在这个标准流程中,任何 一个环节都可以被切断请求可以从缓存里取到数据直接返回。
这个包的作用是持久化的作用,具体的说就是在实体类中进行元数据标签的作用,是ORM框架中用到的。 ORM框架可以通过这个元数据标签,使得实体类与数据库中的表建立映射关系。 例如javaxpersistenceColumn标识实体类中的这个属性对应于数据库中
首先,我们把hibernate最基本的数据库连接,使用mysql。 见一个java工程,见一个包名为book, 在book的包下加一个java类Bookjava,其代码如下: package book; public class Book { private Integer id; private String name; private String writer; public Integer get hibernate最基本的数据库连接,使用mysql。 见一个java工程,见一个包名为“book”
温馨提示:下图仅供欣赏,不作为教学。
然后在在book的包下加一个java类Bookjava,其代码如下: package book; public class Book { private Integer id; private String name; private String writer; public Integer getId() { return id; } public void setId(Integer id) { thisid = id; } public String getName() { return name; } public void setName(String name) { thisname = name; } public String getWriter() { return writer; } public void setWriter(String writer) { thiswriter = writer; } }
温馨提示:下图仅供欣赏,不作为教学。
然后在book包下建一个bookhbmxml,其代码如下: <xml version="10"> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 30//EN" ">
Cache 缓存
1 : EhCache
EhCachePlugin是JFinal集成的缓存插件,通过使用EhCachePlugin可以提高系统的并发访问速度。
网页链接
ehcachexml简介
EhCache的使用需要有ehcachexml配置文件支持,该配置文件中配置了很多cache节点,每个cache节点会配置一个name属性,例如:<cache name="blog" …>,该属性是CacheKit取值所必须的。其它配置项如eternal、overflowToDisk、timeToIdleSeconds、timeToLiveSeconds详见EhCache官方文档。 cache节点配置为都写入磁盘即可
2: Redis
RedisPlugin是支持 Redis的极速化插件。使用RedisPlugin可以极度方便的使用redis,该插件不仅提供了丰富的API,而且还同时支持多redis服务端。Redis拥有超高的性能,丰富的数据结构,天然支持数据持久化,是目前应用非常广泛的nosql数据库。对于redis的有效应用可极大提升系统性能,节省硬件成本。网页链接
3: j2cache
开源中国教主红薯的二级缓存, 性能非常高, 是 EhCache+Redis 二合一的处理方式
网页链接
没生效吧。启用缓存注解功能的配置加了吗,而且一定要声明在spring的主配置文件里,否则不会生效
<cache:annotation-driven cache-manager="cacheManager" />
<bean id="cacheManagerFactory" class="orgspringframeworkcacheehcacheEhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:cache/ehcachexml"/>
</bean>
<bean id="cacheManager" class="orgspringframeworkcacheehcacheEhCacheCacheManager">
<property name="cacheManager" ref="cacheManagerFactory"/>
</bean>
在系统根目录有个 FineReport110 文件夹,这个目录下的所有文件都是服务器生成的。
其中有个 /ehcache_disk_store 文件,经常占用非常大的空间,导致根目录很容易就满了,那么怎么修改 /ehcache_disk_store 存放路径呢?
12 实现思路
/ehcache_disk_store 里放的是两种类型的缓存文件,分别是:数据库二级缓存、文件服务器的缓存
*** 作时并不是直接修改 /ehcache_disk_store 的路径,而是分别修改这两种缓存文件的路径。
2 *** 作方法
21 修改数据库二级缓存路径
在工程目录 WEB-INF/config 文件夹下创建一个名为 ehcachedbproperties 的文件。
其中跟数据库二级缓存路径相关的配置见下图框出来的部分,可根据场景实际进行修改。
文件配置项如下:
# 数据库ehcache配置
# 是否禁用二级缓存,默认不禁用false
disableCache=false
# 堆中最大缓存空间,默认256M
maxBytesLocalHeap=1G
# 缓存是否常驻,true时timeToIdleSecond和timeToLiveSecond无效,默认false
eternal=false
# 使用后的空闲时间,默认120
timeToIdleSecond=120
# 创建后的存活时间,默认120
timeToLiveSecond=120
# 缓存过期策略,取值LRU,LFU,FIFO,CLOCK,默认LRU
memoryStoreEvictionPolicy=LRU
# 线程检查缓存超时的间隔时间,默认120
diskExpiryThreadIntervalSeconds=120
# 持久化类型,取值LOCALTEMPSWAP,DISTRIBUTED,LOCALRESTARTABLE,NONE,默认NONE
persistenceType=LOCALTEMPSWAP
# 指定数据库二级缓存路径
diskStore=C:\\Users\\root\\Desktop\\tmp\\db_cache
# 持久化同步写入,默认false
persistenceSynchronousWrites=false
# 每隔一段时间清理过期缓存,单位秒,默认60
recycleCacheMemoryInterval=60
# 每隔一段时间debug输出缓存使用情况(仅在调试时使用,同时日志级别需要调至DEBUG),单位秒,为0时不开启,默认0
reportCacheStatusInterval=0
22 修改文件服务器缓存路径
在 FineDB 的 fine_conf_entity 表中新增以下两个字段。新增字段时请直接连接到 FineDB 在表里手动修改,不支持使用 FINE_CONF_ENTITY可视化配置插件 配置。
FineDB 数据库类型和连接方法参见文档:FineDB数据库简介
字段 值
ResourceCacheConfigpersistenceStrategy LOCALTEMPSWAP
ResourceCacheManagerConfigdiskStorePath diskStore=C:\\Users\\root\\Desktop\\tmp\\resource_cache
以上就是关于org.hibernate.cache.ehcache.ehcacheregionfactory在哪个jar下全部的内容,包括:org.hibernate.cache.ehcache.ehcacheregionfactory在哪个jar下、JAVA几种缓存技术介绍说明、org.springframework.cache.ehcache.ehcachefactorybean在哪个jar中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)