일반 aspx.cs 코드에서 사용할 수 있습니다.
캐시 캐시 = new Cache();
하지만 XXXX.CS에서는 위의 방법을 사용할 수 없으며 다음을 사용해야 합니다.
만료되지 않음
HttpContext.Current.Cache.Insert("이름", "왕샹", null, DateTime.MaxValue, TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
이름 : 키
왕샹: 가치
null: 캐시 종속성이 없음을 나타냅니다.
DateTime.MaxValue: 절대 시간 만료 정책이 사용되지 않음을 나타내는 시간의 최대값(9999-99-99 12:59:59)
TimeSpan.Zero: 원활한 만료가 사용되지 않음을 나타냅니다.
CacheItemPrority.NotRemovable: 캐시를 삭제하지 않는 것이 우선순위임을 나타냅니다.
null: 많이 사용하지 않는다면 그냥 null로 두세요.
ASP.NET
절대 시간 만료(10초 후 자동 만료)
HttpContext.Current.Cache.Insert("이름", "왕샹", null, DateTime.Now.AddSeconds(10), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
원활한 시간 만료(연속 10초 동안 캐시에 액세스하지 않으면 캐시가 자동으로 만료됨)
HttpContext.Current.Cache.Insert("이름", "왕샹", null, DateTime.MaxValue, TimeSpan.FromSeconds(10));
캐시 업데이트 전략
if (HttpContext.Current.Cache["UserCacheList"] != null)
{
ht = (Hashtable)HttpContext.Current.Cache["UserCacheList"];
ht.Add(uId, HttpContext.Current.Cache["User" + uId]);
}
또 다른
{
ht.Add(uId, HttpContext.Current.Cache["User" + uId]);
//HttpContext.Current.Cache["UserCacheList"] = ht;
HttpContext.Current.Cache.Insert("UserCacheList", ht, null, DateTime.MaxValue, TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
}