Welcome

首页 / 软件开发 / .NET编程技术 / NHibernate之旅(22):探索NHibernate一级缓存

NHibernate之旅(22):探索NHibernate一级缓存2010-07-23 cnblogs 李永京本节内容

引入

NHibernate一级缓存介绍

NHibernate一级缓存管理

结语

引入

大家看看上一篇了吗?对象状态。这很容易延伸到NHibernate的缓存。在项目中我们灵活的使用NHibernate的缓存机制。NHibernate性能会大大提高的哦,我们接下来就来探索NHibernate缓存机制吧,这篇我没有准备什么,先来学习下NHibernate一级缓存。

NHibernate一级缓存介绍

NHibernate一级缓存即ISession缓存,ISession缓存属于事务级缓存,是NHibernate内置的。ISession缓存中的数据只在本ISession周期内使用。

ISession实例创建后即可使用ISession缓存。此后,ISession实例操作数据时,首先查询内置缓存,如果ISession缓存中存在相应数据,则直接使用缓存数据。如果不存在,则查询数据库并把其结果存在缓存中。

实例1:查询一次持久化实例[Test]
public void SessionCacheTest()
{
Customer customer = _transaction.GetCustomerById(1);
}

我们一般就是这样查询一条数据,NHibernate初始化ISession后,ISession缓存中不存在这个数据,这时NHibernate需要从数据库中加载数据。