Cache在aspx.cs和xxx.CS里的不同用法

在普通aspx.cs代码里可以用:

Cache cache = new Cache();

但在XXXX.CS里,就不能用上面的方式了,得用:

永不时间过期

HttpContext.Current.Cache.Insert("Name", "王翔", null, DateTime.MaxValue, TimeSpan.Zero, CacheItemPriority.NotRemovable, null);

Name:Key

王翔:Value

null:表示没有缓存依赖项

DateTime.MaxValue:时间的最大值(9999-99-99 12:59:59),表示不使用绝对时间过期策略

TimeSpan.Zero:表示不使用平滑过期

CacheItemPrority.NotRemovable:表示优先权为不删除该Cache

null:不怎么用,就null吧

 

绝对时间过期 (10秒后,自动过期)

HttpContext.Current.Cache.Insert("Name", "王翔", null, DateTime.Now.AddSeconds(10), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);

 

平滑时间过期 (连续10秒没有访问该缓存,则自动过期)

HttpContext.Current.Cache.Insert("Name", "王翔", 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]);

            }
            else
            {
                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);
            }

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值