首页 新闻 会员 周边

关于缓存的过期策略

0
悬赏园豆:10 [已解决问题] 解决于 2017-05-31 18:28

我们都知道缓存有2种过期策略,绝对过期和滑动过期。

滑动过期会在我们去读取缓存的时候,将该缓存项的过期时间在当前时间的基础上延后指定长度的时间。

我的问题:

什么情况适合使用滑动过期策略?

weizhangxiaohan的主页 weizhangxiaohan | 初学一级 | 园豆:95
提问于:2017-05-28 19:34
< >
分享
最佳答案
2

比如session过期就是滑动过期策略。用户一直访问一直不会过期的,当超过设置的session timeout时间,缓冲就会丢失。

 

收获园豆:10
Emrys5 | 菜鸟二级 |园豆:223 | 2017-05-28 20:54

Session是存储在缓存里的么?

 

因为我们访问cache和session可以用:

httpcontext.current.cache

httpcontext.current.session

这里session是存在cache里的么?

 

weizhangxiaohan | 园豆:95 (初学一级) | 2017-05-28 23:23

@weizhangxiaohan: 

session默认是存错在本地缓存上的,当然session也可以存储在StateServer上,数据库上,Redis上都可以的。这些除了数据库,都是用的缓存,因为缓存效率比较高。

数据库虽然session不容易丢失,但是数据库效率最低。

关于session的介绍太多了,一句话也说不完。.net 的缓存本质上其实就是一个静态字典而已,也可以简单理解session是存储到缓存里的

Emrys5 | 园豆:223 (菜鸟二级) | 2017-05-29 00:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册