如何在C#中为类似的用户ID请求锁定?

问题描述

我有一个函数,该函数从API获取值,然后在缓存中更新。 所有用户都使用此功能,但我不想更新该值以多次缓存。如何避免多次写入?如何为多个用户锁定(如果可能)?如果用户A锁定了 用户B不应被阻止,并继续更新该值并获得自己的锁。对A的所有请求仅应更新到缓存一次。

Void foo(Guid userId){
    bool isFound = GetfromCache(userId);
    if(!isFound)
     var val = GetValueFromAPI();
    UpdateInsideCache(val,userId); // Here we Could have multiple requests updating the same entry,since it is high scale system ~ Assume 100 Million request per day.
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)