从hibernate2.1开始ehcache已经作为hibernate的默认缓存方案(二级缓存方案 sessionfactory级别), 在项目中有针对性的使用缓存将对性能的提升右很大的帮助。
要使用 Ehcache:需要一下步骤
一,classpath添加相应的jar(ehcache,commons-logging)
二,然后在hibernate.cfg.xml中配置
<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_query_cache">true</property>
说明:如果没有配置<property name="cache.use_second_level_cache">true</property>(默认false) 将会产生根据单个id查询的情况(产生很多sql)。
三,为需要缓存的类添加缓存标示:
使用mapping文件时需要添加node :
Java代码
@Entity
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
如果使用使用hibernate annoation是使用@Cache(usage=CacheConcurrencyStrategy.)标签,有5种可选的缓存方案:
1,CacheConcurrencyStrategy.NONE
不适用,默认
2. CacheConcurrencyStrategy.NONSTRICT_READ_WRITE
更新不频繁几个小时或更长
3,CacheConcurrencyStrategy.READ_ONLY
对于不发生改变的数据使用 [size=large][/size]
4,CacheConcurrencyStrategy.READ_WRITE
基于时间戳判定机制,,对于数据同步要求严格的情况,使用频繁
5,CacheConcurrencyStrategy.TRANSACTIONAL
运行在jta环境种,基于事务
分享到:
相关推荐
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory <property name="net.sf.ehcache.configurationResourceName">ehcache.xml ``` 接着,在`ehcache.xml`...
标题中的“Intel Cache Acceleration Software”(简称ICAS)是一款由英特尔公司开发的软件,旨在提升计算机系统的存储性能。这款软件特别关注的是利用傲腾(Optane)内存技术,为系统提供更快的数据存取速度。...
SET @Cache = @Cache + cast(@SingleValue as numeric)*65536 SET @CharIndex = @CurrPoint + 1 SET @CurrPoint = CHARINDEX('.',@Old_IP,@CharIndex) SET @SingleValue = SUBSTRING(@Old_IP,@CharIndex,@...
**JetCache 概述** JetCache 是一个专为 Java 应用设计的高效、轻量级的缓存系统封装框架,旨在简化缓存的管理和使用。它通过提供统一的 API 接口和注解,使得开发者能够快速地在项目中集成缓存功能,提升应用程序...
`@cache`用于标记开始缓存的代码段,而`@nocache`则指示不缓存的内容。例如,动态内容如用户个人信息不应被缓存,因此应包裹在`@nocache`指令中。 HTTP缓存的失效策略也很重要。Laravel提供了多种方式来控制缓存...
RetrofitCache English RetrofitCache让retrofit2 okhttp3 rxjava 配置缓存...@Cache(time = 20,timeUnit = TimeUnit.MINUTES) @GET("users") Observable test(); 默认时间缓存,默认是0秒 @Cache() @GET("users
这个"page-cache"项目是针对Laravel的页面缓存机制的一个实现,让我们深入探讨一下这个主题。 1. **页面缓存原理** 页面缓存的基本思想是,对于那些不经常变动但每次请求都需要复杂计算的页面,将其生成的HTML存储...
Laravel提供了`Cache`事件,如`cache.hit`、`cache.missed`、`cache.added`等,可以监听这些事件进行额外的操作,如日志记录或统计分析。 7. **配置与优化**: 缓存设置位于`config/cache.php`,可以调整默认驱动...
在模型类中,添加`@cache-machine.cache_on_save`和`@cache-machine.cache_on_delete`装饰器,这两个装饰器分别会在模型保存和删除时触发缓存的更新或失效。 例如,假设有一个`Article`模型: ```python from ...
韩国大学(Korea University)计算机课件,值得收藏,详细介绍了cache的作用。相比国内的课件,该课件更体现了现代的技术。
JetCache是一个专为Java开发的缓存框架,旨在提高应用程序的性能和响应速度,通过将常用数据存储在内存中,避免频繁地访问数据库或其他慢速数据源。它提供了高效的缓存解决方案,支持本地缓存、分布式缓存以及二级...
**Python-minicache:Python轻量级Cache工具详解** 在Python开发中,缓存机制是提高应用程序性能的关键技术之一。`minicache`是一个简洁、轻量级的Cache工具,适用于Python 2和3,以及PyPy环境。它提供了一种简单的...
本篇文章将深入探讨“hibernate_cache_level_1”这一主题,即Hibernate的二级缓存,以及在项目中的应用。 一级缓存是Hibernate内置的Session级别的缓存,它是事务性的,每个Session都有自己的缓存,当Session关闭时...
在这个例子中,外层缓存键('outer_cache_key')将整个循环内容作为一个单元缓存,而内层缓存键('inner_cache_key_'.$item->id)则为每个具体的项目数据创建独立的缓存。 **4. 实现和优化** 为了有效地利用俄罗斯...
django.views.decorators.cache定义了一个自动缓存视图响应的cache_page装饰器。 他是很容易使用的: from django.views.decorators.cache import cache_page def my_view(request): # ... my_view = cache_page...
本文将深入探讨“Laravel开发-dolly-cache”,这是一种利用俄罗斯娃娃缓存策略(也称为套娃缓存)来优化Laravel应用性能的技术。 首先,让我们理解什么是俄罗斯娃娃缓存,也称为嵌套缓存。在传统的缓存机制中,如页...
除了`Cache` facade,还可以通过实现`Cache合同`(`Contracts`)来使用缓存服务。这在依赖注入或者测试环境中可能更合适。 七、事件与缓存 Laravel在缓存操作前后会触发事件,如`cachehit`、`cachemissed`、`...
<cache type="org.mybatis.caches.ehcache.EhcacheCache"> <!-- 可以配置具体的缓存策略,如超时时间、容量等 --> </cache> ``` 3. 创建 Ehcache 配置:在项目的 resources 目录下创建 `ehcache.xml` 文件,...
在本文中,我们将深入探讨Laravel开发中的一个重要概念——`laravel-doctrine-cache`,它是一种将Doctrine缓存集成到Laravel 5框架中的方法。 Doctrine是一个流行的对象关系映射(ORM),它提供了数据库操作的高度...
本压缩包“hibernate_cache_level_2.rar”聚焦于Hibernate框架中的第二级缓存,这是一个关键特性,用于提高应用程序的性能。在这个主题下,我们将深入探讨Hibernate的二级缓存机制、其工作原理以及如何在项目中有效...