zoukankan      html  css  js  c++  java
  • ASP.NET缓存管理

    Cache是将一些数据保存服务器内存,Asp.net可以根据服务器的使用情况,来动态管理管理内存(在内存不足时系统可能会删掉某些缓存)。开发者可以将一些频繁读取不经常变的数据保存到缓存,以提效率,因CPU从缓存中获取数据是最快的。

    缓存注意点

    • 缓存控件是有效的,不能保存所有的数据
    • 缓存的有效时间,根据不同需求可以设置绝对时间和滑动有效时间
    • 缓存依赖项,当依赖项变化时缓存删除,依赖项包括文件依赖项和数据库依赖项
    • 缓存可能失效

    缓存依赖

    在开发中可将频繁查询且数据量不的的数据库中的表保存到缓存,提高查询效率。当数据库表中数据变化时缓存无效,这里利用缓存数据库依赖项(目前只支持SQL),一个缓存可以通过AggregateCacheDependency依赖多个缓存依赖项.

    	public class CacheManager
    	{
    		public static List<Person> persons
    		{
    			get {
    				HttpContext context = HttpContext.Current;
    				List<Person> list = context.Cache["Persons"] as List<Person>;
    				if(list == null)
    				{
    					//从数据库中读取....省略了
    
    					//保存到缓存
    					// 第一个参数:数据库名称; 第二个表名
    					SqlCacheDependency perdepen = new SqlCacheDependency("North", "Persons");
    					context.Cache.Add("Persons", list, perdepen, Cache.NoAbsoluteExpiration,new TimeSpan(1, 0, 0), CacheItemPriority.Normal,(k,v,reason)=> { });
    				}
    				return list;
    			}
    		}
    	}
    
  • 相关阅读:
    gdb ../sysdeps/i386/elf/start.S: No such file or directory
    zoj 2068
    poj 1068 Parencodings
    图论----同构图
    Leetcode-Sum Root to Leaf Numbers
    作弊揭发者
    理解 Delphi 的类(十一)
    动态生成lookup字段
    Delphi报的错误
    Cannot create file"C:UsersLMLAppDataLocalTempEditorLineEnds.ttr"。另一个程序正在使用此文件,进程无法访问。
  • 原文地址:https://www.cnblogs.com/LoveTomato/p/9114834.html
Copyright © 2011-2022 走看看