简单实现SQL Server2000数据库缓存
2009-12-01 15:10
92 查看
第一步:修改配置文件
<connectionStrings>
<add name="ConnectionString"connectionString="Server=(local);database=建立缓存的数据库;uid=sa;pwd=123456"providerName="System.Data.SqlClient" />
</connectionStrings>
<!-- 定义缓存策略-->
<caching>
<sqlCacheDependency enabled="true" pollTime="10000">
<databases>
<add connectionStringName="ConnectionString" name="建立缓存的数据库"/>
</databases>
</sqlCacheDependency>
</caching>
第二步: 建立缓存
SqlCacheDependencyAdmin.EnableNotifications(数据库连接字符串);
//连接到 SQL Server 数据库并为 SqlCacheDependency 更改通知准备数据库表
SqlCacheDependencyAdmin.EnableTableForNotifications(数据库连接字符串, 表名,用来说明数据库中哪些表更新时 重新建立缓存);
//定制缓存策略
SqlConnectionStringBuilder ConnectionStringBuilder = new SqlConnectionStringBuilder(数据库连接字符串);
//建立依赖性
SqlCacheDependency CacheDependency = new SqlCacheDependency(数据库名(必须与配置文件中的配置的名字一致),进行缓村的表名);
SqlDataAdapter Adapter = newSqlDataAdapter
Adapter.SelectCommand = "select * from 进行缓村的表名";
DataTable dt = new DataTable();
Adapter.Fill(dt);
if(HttpRuntime.Cache[应用程序缓存名]==null)
{
HttpRuntime.Cache.Add(应用程序缓存名, dt, CacheDependency,Cache.NoAbsoluteExpiration, new TimeSpan(1, 0, 0),CacheItemPriority.High, null);
return dt;
}
else
{
return (DataTable)HttpRuntime.Cache[应用程序缓存名];
}
两步骤搞定非常简单_-_
using System;
using System.Collections.Generic;
using System.Web.Caching;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
namespace WebApplication2
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlCacheDependencyAdmin.EnableNotifications("testConnectionString");
//连接到 SQL Server 数据库并为 SqlCacheDependency 更改通知准备数据库表
SqlCacheDependencyAdmin.EnableTableForNotifications("testConnectionString", "user");
//定制缓存策略
SqlConnectionStringBuilder ConnectionStringBuilder = new SqlConnectionStringBuilder("testConnectionString");
//建立依赖性
SqlCacheDependency CacheDependency = new SqlCacheDependency("test", "user");
SqlDataAdapter Adapter = new SqlDataAdapter();
Adapter.SelectCommand.CommandText = "select * from user";
DataTable dt = new DataTable();
Adapter.Fill(dt);
if (HttpRuntime.Cache["user"] == null)
{
HttpRuntime.Cache.Add("user", dt, CacheDependency, Cache.NoAbsoluteExpiration, new TimeSpan(1, 0, 0), CacheItemPriority.High, null);
int dd = dt.Rows.Count;
}
else
{
DataTable tdt=(DataTable)HttpRuntime.Cache["user"];
int kk = tdt.Rows.Count;
}
}
}
}
<appSettings/>
<connectionStrings>
<add name="testConnectionString" connectionString="Data Source=123123131\SQL2005;Initial Catalog=test;User ID=sa;Password=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<!-- 定义缓存策略-->
<caching>
<sqlCacheDependency enabled="true" pollTime="10000">
<databases>
<add connectionStringName="testConnectionString" name="test"/>
</databases>
</sqlCacheDependency>
</caching>
<connectionStrings>
<add name="ConnectionString"connectionString="Server=(local);database=建立缓存的数据库;uid=sa;pwd=123456"providerName="System.Data.SqlClient" />
</connectionStrings>
<!-- 定义缓存策略-->
<caching>
<sqlCacheDependency enabled="true" pollTime="10000">
<databases>
<add connectionStringName="ConnectionString" name="建立缓存的数据库"/>
</databases>
</sqlCacheDependency>
</caching>
第二步: 建立缓存
SqlCacheDependencyAdmin.EnableNotifications(数据库连接字符串);
//连接到 SQL Server 数据库并为 SqlCacheDependency 更改通知准备数据库表
SqlCacheDependencyAdmin.EnableTableForNotifications(数据库连接字符串, 表名,用来说明数据库中哪些表更新时 重新建立缓存);
//定制缓存策略
SqlConnectionStringBuilder ConnectionStringBuilder = new SqlConnectionStringBuilder(数据库连接字符串);
//建立依赖性
SqlCacheDependency CacheDependency = new SqlCacheDependency(数据库名(必须与配置文件中的配置的名字一致),进行缓村的表名);
SqlDataAdapter Adapter = newSqlDataAdapter
Adapter.SelectCommand = "select * from 进行缓村的表名";
DataTable dt = new DataTable();
Adapter.Fill(dt);
if(HttpRuntime.Cache[应用程序缓存名]==null)
{
HttpRuntime.Cache.Add(应用程序缓存名, dt, CacheDependency,Cache.NoAbsoluteExpiration, new TimeSpan(1, 0, 0),CacheItemPriority.High, null);
return dt;
}
else
{
return (DataTable)HttpRuntime.Cache[应用程序缓存名];
}
两步骤搞定非常简单_-_
using System;
using System.Collections.Generic;
using System.Web.Caching;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
namespace WebApplication2
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlCacheDependencyAdmin.EnableNotifications("testConnectionString");
//连接到 SQL Server 数据库并为 SqlCacheDependency 更改通知准备数据库表
SqlCacheDependencyAdmin.EnableTableForNotifications("testConnectionString", "user");
//定制缓存策略
SqlConnectionStringBuilder ConnectionStringBuilder = new SqlConnectionStringBuilder("testConnectionString");
//建立依赖性
SqlCacheDependency CacheDependency = new SqlCacheDependency("test", "user");
SqlDataAdapter Adapter = new SqlDataAdapter();
Adapter.SelectCommand.CommandText = "select * from user";
DataTable dt = new DataTable();
Adapter.Fill(dt);
if (HttpRuntime.Cache["user"] == null)
{
HttpRuntime.Cache.Add("user", dt, CacheDependency, Cache.NoAbsoluteExpiration, new TimeSpan(1, 0, 0), CacheItemPriority.High, null);
int dd = dt.Rows.Count;
}
else
{
DataTable tdt=(DataTable)HttpRuntime.Cache["user"];
int kk = tdt.Rows.Count;
}
}
}
}
<appSettings/>
<connectionStrings>
<add name="testConnectionString" connectionString="Data Source=123123131\SQL2005;Initial Catalog=test;User ID=sa;Password=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<!-- 定义缓存策略-->
<caching>
<sqlCacheDependency enabled="true" pollTime="10000">
<databases>
<add connectionStringName="testConnectionString" name="test"/>
</databases>
</sqlCacheDependency>
</caching>
相关文章推荐
- 简单的Map缓存机制实现
- java并发-使用内置条件队列实现简单的有界缓存
- Java8简单的本地缓存实现
- ASP.NET简单实现服务端图片缓存
- DNS服务器概念的简单的介绍,与搭建一个简单的DNS名称缓存服务器,实现域名解析(一)
- 基于服务器端缓存redis的简单实现
- Map实现java缓存机制的简单实例
- Flask回掉接入点简单实现静态页面缓存
- 使用Ehcache缓存在用户输错n次账户密码之后冻结m小时的简单实现
- java几种缓存的简单实现
- 简单实现自己的类似UniversalImageLoader网络图片加载缓存框架
- (转)超简单的缓存实现
- Thread学习(七) 用读写锁ReadWriteMethod实现个简单的例子,cache缓存的原理
- Java 实现简单的内存对象LRU缓存
- LinkedHashMap实现简单的LRU缓存
- Java8简单的本地缓存实现
- javaEE 使用ServletContext实现服务器端简单定时更新缓存
- 简单的java缓存实现(LRU,LFU,FIFO)
- HashMap实现简单的缓存Cache
- 基于synchronized 或 ReadWriteLock实现 简单缓存机制