c# - .NET Core 中的多个 MemoryCache 实例
问题描述
我们需要使用 MemoryCache 缓存两种类型的数据。
- 安全令牌
- 书(例如)
我们不想在安全令牌缓存上设置 SizeLimit,因为这意味着缓存中的每个条目都需要根据.NET Core doco指定大小。这是因为安全令牌是由我们无法控制的已编译 nuget 类型插入的。
因此,创建另一个 MemoryCache 实例来仅保存 Book 项目是有意义的,这样我们就可以在将书籍添加到缓存中时设置项目的大小限制和大小。
此外,.NET Core 文档建议开发人员需要管理缓存的限制。
我在这里和这里阅读了支持/拒绝多个内存缓存实例的相互冲突的帖子。此外,这些与 .NET 而不是 .NET Core 相关。
由于 .NET Core 的 MemoryCache 需要开发人员管理缓存项的逐出,并且考虑到缓存中的书籍比令牌多得多,因此我们倾向于拥有 2 个 MemoryCache 实例。
- 安全令牌 - 没有任何大小限制,在已编译的 nuget 包中有设置器
- 书籍 - 有大小限制,因为所有设置器都在项目代码中
在我们的 .NET Core Web 应用程序中拥有多个 MemoryCache 实例可能会遇到任何问题吗?
我们使用带有Microsoft.Extensions.Caching.Memory v=2.1.2.0的.NET Core 2.1
解决方案
推荐阅读
- apache - Apache 从 Perl CGI 脚本的脚本返回格式错误的标头
- vue.js - 使用 <%= BASE_URL %> 获取 favicon 时出现 404 错误
- javascript - 使用 react-bootstrap 对我的反应站点实施高级分页
- reactjs - 有没有办法只用您单击的链接替换 url?
- c# - GeoJSON 属性
- javascript - Express.js 与 csv-parse
- sharepoint - 如何使用查看/编辑表单的 JSON 增加下拉列的宽度?
- azure - Azure 通过 REST 请求使用用户凭据获取访问令牌
- javascript - 如何在本机反应中制作向上滑动的全屏组件
- java - Lombok 使用 Rest Assured 发送复杂 JSON 反序列化 POJO