gpt4 book ai didi

c# - 在 asp.net 中锁定缓存的最佳方法是什么?

转载 作者:IT王子 更新时间:2023-10-29 03:41:13 29 4
gpt4 key购买 nike

我知道在某些情况下,例如长时间运行的进程,锁定 ASP.NET 缓存很重要,以避免其他用户对该资源的后续请求再次执行长进程而不是命中缓存。

在 C# 中实现 ASP.NET 缓存锁定的最佳方法是什么?

最佳答案

这是基本模式:

  • 检查缓存中的值,如果可用则返回
  • 如果值不在缓存中,则实现锁
  • 在锁里面,再检查一下缓存,你可能已经被锁了
  • 执行值查找并缓存它
  • 释放锁

在代码中,它看起来像这样:

private static object ThisLock = new object();

public string GetFoo()
{

// try to pull from cache here

lock (ThisLock)
{
// cache was empty before we got the lock, check again inside the lock

// cache is still empty, so retreive the value here

// store the value in the cache here
}

// return the cached value here

}

关于c# - 在 asp.net 中锁定缓存的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39112/

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