gpt4 book ai didi

asp.net-core - ASp .Net Core Web API 中的多个 MemoryCache

转载 作者:行者123 更新时间:2023-12-05 04:02:14 25 4
gpt4 key购买 nike

我有一个 ASP .Net Core 2.2。网络 API。我想通过使用 MemoryCache 来提高性能。但是,我需要缓存 2 种不同的类型,它们都使用整数键。一种是用户列表,另一种是组列表。

现在,我在 Startup.cs 文件中添加 MemoryCache 服务:

services.AddMemoryCache();

然后我使用依赖注入(inject)在两个不同的地方(在中间件和我编写的服务中)访问这个缓存。

据我了解,这两个缓存是同一个实例。因此,当我向其中添加我的各种用户和组时,由于它们都有整数键,因此会发生冲突。我该如何处理?我考虑过使用两个缓存 - 每种缓存一个 - 但是(a)我不确定如何做到这一点并且(b)我在某处读到不建议使用多个缓存。有什么想法吗?

最佳答案

是的,我以前也遇到过同样的问题,于是求助于创建 MemoryCache 的扩展版本,它允许我插入不同的“存储”。只需将您在“元数据”类型类中放入缓存的数据。我想类似于 ServiceDescriptors 如何将您的服务注册包装在 DI 中?

此外,在具体回答“我考虑过使用两个缓存 - 每种缓存一个”这一点时。这就是问题所在,因为我相信 IMemoryCache 默认注册为单例

关于asp.net-core - ASp .Net Core Web API 中的多个 MemoryCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54531344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com