我们有一个缓存类,允许读取伪代码在
之下GetItemFromCache()
if (GetItemFromCache != true)
{
ReadThrough();
}
如果多个呼叫同时使用相同的密钥到达缓存,我可以执行多个ReadThrough,这可能很昂贵(跨网络服务之旅)。我希望能够阻止读取,只允许单次读取。
我认为只要锁对缓存键是唯一的,就可以在读取周围添加锁定。我可以通过包含Dictionary的字典来处理。我不是100%确信这是解决问题的最佳解决方案,或者其他什么是更好的主意。