IMemoryCache和IDistributedCache用于缓存的内置机制,所有其他技术都是从这两个接口实现。
其中IMemoryCache将被用于告诉缓存的基础,却不是唯一可用于缓存的办法,存在拓展各种丰富的api并极大地促进其作用
缓存API:
使用IMemoryCache存储和检索项目,要使用Set()方法写入方法,从缓存中检索对象使用Get()方法。如果不确定缓存中是否存在特定的密钥,则可以使用TryGetValue()提前判断,返会布尔值。另一种方法GetOnCreate()方法验证所需密钥是否存在,否则创建新的值。
缓存数据设置过期策略:
IMemoryCache的MemoryCacheOptions类提供各种技术管理缓存数据的到期时间,包含三种方式:
1.绝对过期:指定一个固定时间,当前时间后的某个特定密钥将过期
2.滑动过期:如果在某个特定的时间后没有访问他,则他可以过期。
3.Expiration Token:缓存对象创建依赖关系
另外:MemoryCacheOptions类允许注册回调功能
.net core MVC框架下,则使用helper cache tag存储页面,可通过expires-on了解管理对象的过期期限,还有其他两种选择:
1.过期时间:使用TimeSpan指示一段时间
2.过期滑动:还应使用TimeSpan,每次从缓存中读取内容时,删除延迟。
另外,可指定方面设计配置缓存标准的可能性,由覆盖变化经过下列属性:
1.路由:通过路由参数的名称(例如id)进行增强,以指示的属性更改时必须重新生成内容
2.查询:当更改查询字符串键时,将生成并缓存内容
3.用户不同:显示已登录用户的特定数据时(例如:包含名称和照片的个人资料库)
4.标题:http请求显示语言内容,则根据http请求标头来更改缓存,例如:“Accept-Language”
5.cookie:允许根据cookie内容更改缓存
以上仅适用单体程序。