c# - 什么相当于 .net Core 中的 asp.net 缓存
问题描述
我想为 .net 核心系统中的所有用户共享特定数据,就像我们在 MVC5 中所做的一样
我检查了 InMemoryCache 并用它来保存数据,但是 Unfortnality,每个用户单独共享数据
如果我使用,我在 MVC 5 中的意思
HttpContext.Current.Cache["xyz"] = "Test Value"
第二个用户登录并调用
HttpContext.Current.Cache["xyz"]
新用户将获得结果“测试值”,如果他将此值更改为其他值,第一个用户将看到此更改
但是在使用 InMemory Cache 的 .net 核心中,我找不到在系统用户之间共享数据的任何选项
_cache.Set("xyz","Test Value);
其他用户将无法检索 xyz 键的值
我在启动时设置 InmemoryCache 值
解决方案
如果多个用户(线程)试图同时访问IMemoryCache
资源,那么您应该使用锁来处理其访问。
否则,第二个用户将在缓存中看不到任何结果。
这是处理服务的好文章。Semaphore
IMemoryCache
推荐阅读
- javascript - 如何连接两个reactjs页面并显示相同的数据
- docker - Docker 中的 Xdebug CLI
- reactjs - 如何在我的 koa-server 上执行外部 api 请求,它使用 @shopify/koa-shopify-auth
- html - 如何更改导航栏上的颜色?
- vba - 基于输入日期的 Microsoft Access DLookup
- twilio - Twilio - 帖子正文中缺少必需的参数 FriendlyName
- amazon-web-services - AWS ALB/NLB 对 HAProxy 实例的重写请求?
- python - 如何在 numpy 嵌套数组中提取特定数组?
- apache-spark - 如何使用 pyspark 获取 Delta 表的所有当前分区?
- sql - 如何创建在运行时只能访问选定表的角色