C中缓存的使用
简介
缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快。由于CPU从内存中读取数据的速度比从磁盘读取快几个数量级,并且存在内存中,减小了数据库访问的压力, 所以缓存几乎每个项目都会用到。一般常用的有MemoryCache、Redis 今天就给大家带来MemoryCache的使用介绍! 类别内存缓存过期时间有4种
•永不过期•绝对过期时间•相对现在的过期时间•滑动过期时间
当然也可以通过这三种过期时间衍生出 滑动窗口+绝对过期时间等等 官网地址
我们也可以查看官方文档 来详细了解MemoryCache 这里就不做过多解读了使用
回到刚才的问题 我们来介绍怎么设置过期时间! 永不过期
就是在我程序发布后只要我们不去清理该缓存,该缓存会一直有效! /// /// 永不过期时间 /// static void NeverExpire() { _cache.Set("NeverExpire", "1"); }绝对过期时间
用的是绝对时间点 可以理解成"截止日期" static void AbsoluteExpiration() { DateTime time = new DateTime(2022, 04, 01, 23, 59, 59); _cache.Set("AbsoluteExpiration", "20220401235959", time); }相对现在的过期时间
相对现在的过期时间,就比如说我们设置缓存后的一分钟内有效,可以参考我们常见的 短信登录,后端随机生成一个验证码并存入redis,并且设置该key的过期时间,然后就是校验了,发送手机号码和验证码到后台, 从redis中取出对应的验证码就行校验,如果正确就把该验证码删掉,防止可以验证多次 static void ExpirationTimeRelativeToThePresent() { _cache.Set("AbsoluteExpiration", "123456", new TimeSpan(0, 0, 60)); }滑动过期时间
缓存在设定的时间内没有被使用,则失效,使用后缓存的过期时间重新被刷新 static void SlidingExpirationTime() { _cache.Set("SlidingExpirationTime", "3", new MemoryCacheEntryOptions() { SlidingExpiration = new TimeSpan(0, 0, 2), AbsoluteExpiration = DateTimeOffset.Now.AddMilliseconds(1000) }); }我们来看看官网的定义如图所示 !
然后再来解释第二个参数MemoryCacheEntryOptions, 设置缓存项的绝对到期日期: 是当前缓存设置后的1000分钟。像我们经常玩的英雄联盟手游 ,我们一天不登陆,缓存的token失效, 就要重新登录获取token,我们每天都在玩触发了滑动过期时间,就不需要每次启动app时登录账号,但是 玩了一段时间后,发现我们还是需要重新登录我们的账号这个就是滑动过期时间中绝对过期时间!
获取缓存值
ConcurrentDictionary
博越全系热销中限时优惠高达1万元福田深圳深意店博越PRO现车限时优惠,可试乘试驾博越PRO现车在店,购车可享多重优惠方案零息方案首付30起2年0息首付45起享3年0息超长期限超低月供方案每天一杯奶茶钱博越PRO贷
深圳深意吉利星越优惠高达0。75万元福田吉利深意店星越现车限时优惠,可试乘试驾星越现车在店,购车可享多重优惠方案零息方案30首付起2年0息50首付起3年0息超长期限超低月供方案首付50,每天40元星越带回家附加贷0首
深圳深意吉利星越S购车送3000元大礼包星越S给你劲爽礼遇,8月31日前购车1焕新礼6000元置换补贴,2000元增购补贴,至高7000元置换补贴2金融礼至高金融贴息8000元3保养礼4。5年或12万公里免费保养4保值礼
帝豪GLPHEV享受补贴还优惠1。3万元深圳深意吉利汽车全系底价促销,恭迎到店品鉴!近期购帝豪GLPHEV优惠政策如下1。现金优享现金优惠13000元,2。金融优享银行贴息4000元,3。置换优享置换补贴7000元,4。
深圳深意吉利帝豪优惠高达0。5万元福田深圳深意店帝豪现车限时优惠,可试乘试驾帝豪现车在店,购车可享多重优惠方案零息方案首付20,2年0息首付30,享3年0息超长期限超低月供方案首付50,月供652元起附加贷0首付低
小米11青春版和红米k40相比较,该如何选择?如果非要在这两款手机中选择一款手机进行购买,我个人会更加倾向于红米K40这款手机会更多一些,我给到的理由有以下几点,大家不妨参考一下。理由一先说一下大家比较关心的价格问题,在相同内
荣耀50Pro和荣耀50相比较,该如何选择?仔细观察这两款手机的各方面配置情况来看,这荣耀50Pro款手机在拍照能力和充电速度方面是会比荣耀50有着略微的提升,是否值得这700大洋的差价呢?大家仁者见仁智者见智了。就小芳个人
小米mix4和华为mate40Pro相比较,选择买哪款好?说句实话,小米mix4这款手机并不是非常完美,特别是在自拍能力方面还是存在着一定的缺陷的。不过如果非要在这两款手机中选择一款手机进行购买,小芳我个人还是会更加倾向于小米mix4这款
荣耀50SE和荣耀X20同为天玑900该如何选择?如果非要在这两款手机中选择一款手机进行购买,小芳我个人会更加倾向于荣耀50SE这款手机会更多一些。我给到的理由有以下几点,大家不妨参考一下。理由一首先从机身的轻薄程度角度来说,荣耀
一加8和红米note10pro相比较,该如何选择?按照目前的市场行情来看,这两款手机的差价有点大,小芳觉得大家完全没有必要进行比较,大家只要根据自身的预算多少进行选择就可以了。不过为了让大家更好的选择出适合自己的手机,小芳还是给大
小米mix4和华为P50Pro相比较,买哪款性价比高?说句实话,这两款手机的整体各方面配置情况都是非常不错的,选择哪一款进行购买都是不会亏的。不过如果非要在这两款手机中选择一款手机进行购买,我个人是更加推荐大家购买华为P50Pro这款