SQL 缓存依赖实例
创建单张表的依赖缓存依赖:
public static object GetCache(string KeyName) { string CacheKey = KeyName; Cache objCache = HttpRuntime.Cache; object objModel = objCache[CacheKey]; if (objModel == null) { SqlConnection conn = new SqlConnection(“数据库连接字符串”); SqlDataAdapter da = new SqlDataAdapter("查询语句", conn); DataTable dt = new DataTable(); // 创建一个SQL缓存依赖 SqlCacheDependency denpendency = new SqlCacheDependency("数据库名称", "表名"); da.Fill(dt); objCache.Insert(CacheKey,dt,denpendency,System.Web.Caching.Cache.NoAbsoluteExpiration,TimeSpan.Zero); objModel = objCache[CacheKey]; } else { return objModel; } return objModel; }
创建多张表的缓存依赖
public static object GetCache(string KeyName) { string CacheKey = KeyName; Cache objCache = HttpRuntime.Cache; object objModel = objCache[CacheKey]; if (objModel == null) { SqlConnection conn = new SqlConnection(数据库连接字符串); SqlDataAdapter da = new SqlDataAdapter("查询语句", conn); DataTable dt = new DataTable(); // 创建一个SQL缓存依赖 AggregateCacheDependency dep = new AggregateCacheDependency(); dep.Add(new SqlCacheDependency("数据库名称", "表名")); dep.Add(new SqlCacheDependency("数据库名称", "表名")); da.Fill(dt); objCache.Insert(CacheKey, dt, dep, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.Zero); objModel = objCache[CacheKey]; } else { return objModel; } return objModel; }