首页 / 网页编程 / ASP.NET / 数据库组件 Hxj.Data (二十二) (缓存)
数据库组件 Hxj.Data (二十二) (缓存)2011-07-26 博客园 steven hu首先我是做web开发的,所以很多会偏向web的,组件使用的缓存是System.Web.HttpRuntime.Cache。组件在默认情况下是关闭缓存的。所以要开启缓存查询要做一下配置。先看一下例子配置:<configSections>
<section name="HxjCacheConfig" type="Hxj.Data.CacheConfiguration,Hxj.Data"/>
</configSections>
<HxjCacheConfig enable="true">
<entities>
<add key="NorthwindConnectionString.Products" value="60"></add>
</entities>
</HxjCacheConfig>
<connectionStrings>
<add name="NorthwindConnectionString" connectionString="Data Source=riccihu;Initial Catalog=Northwind;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>HxjCacheConfig 节点的 enable 表示是否开启缓存,默认是关闭状态,除非显式开启 enable="true" 。entities 节点下的配置就是对实体查询的缓存配置。<add key="NorthwindConnectionString.Products" value="60"></add>表示connectionStrings中的节点name="NorthwindConnectionString"的连接下的Products表配置.value="60" 表示缓存60秒。所以一定要connectionStrings的name加上实体名,不然配置无效。当然value也可以是缓存依赖的文件。<add key="NorthwindConnectionString.Products" value="1.txt"></add>表示Products表的查询缓存依赖程序根目录下的1.txt文件。组件会判断该文件是否存在,不存在则该 配置无效。那测试一下缓存配置。List<Products> list = new List<Products>();
for (int i = 0; i < 2; i++)
{
list.Add(DbSession.Default.From<Products>().ToFirst());
}
for (int i = 0; i < 3; i++)
{
list.Add(DbSession.Default.From<Products>().ToFirst());
}