回 帖 发 新 帖 刷新版面

主题:简单实现sqlserver2000数据库缓冲

第一步:修改配置文件

  <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[应用程序缓存名];
}

 

两步骤搞定非常简单_-_


回复列表 (共1个回复)

沙发


那要看你更改后有没提交操作。。
比如oracle中如果你没提交操作 那缓冲区的数据是更改后的数据 所以读出来是正确的
如果提交了操作 那么你缓冲区的数据就会被刷新到数据文件里面 第二次读的时候 又从文件里面读取新的数据了




[url]http://www.gobenet.net.cn[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册