ASP.NET web应用程序的内存缓存
对于ASP.NET web应用程序(一个实例),我需要将非常少量的数据缓存最多一小时。显然,这需要线程安全,以便我可以从请求中访问缓存 我想“在过程中”这样做,而不是使用任何外部的东西ASP.NET web应用程序的内存缓存,asp.net,Asp.net,对于ASP.NET web应用程序(一个实例),我需要将非常少量的数据缓存最多一小时。显然,这需要线程安全,以便我可以从请求中访问缓存 我想“在过程中”这样做,而不是使用任何外部的东西 实现这一点最简单的方法是什么?使用静态变量。您可以编写包含更新逻辑的静态缓存类(最多一小时),并将检索到的数据存储在静态成员中 该类将保留在应用程序池中,直到被回收。对于您的用例来说,这可能太频繁或太少。但是缓存能力应该足够公平 对于线程安全问题,您可以在此类中提供getter方法并利用。您可以使用ASP.NET
实现这一点最简单的方法是什么?使用静态变量。您可以编写包含更新逻辑的静态缓存类(最多一小时),并将检索到的数据存储在静态成员中 该类将保留在应用程序池中,直到被回收。对于您的用例来说,这可能太频繁或太少。但是缓存能力应该足够公平 对于线程安全问题,您可以在此类中提供getter方法并利用。您可以使用ASP.NET提供的对象 您可以创建一个属性,该属性返回缓存对象(如果存在),或者从数据库中检索它
private myClass myProp {
get{
if (Cache["Key1"] == null)
Cache.Add("Key1", "Value 1", null, DateTime.Now.AddMinutes(60), Cache.NoSlidingExpiration, CacheItemPriority.High);
return (myClass)Cache["Key1"];
}
}