我正在尝试使用 ServiceStack Redis 客户端实现我认为非常常见的缓存场景,但我很难找到一个很好的例子。
在 ASP.NET MVC 应用程序中,我们对外部 Web 服务进行相对长时间运行(和计量)的调用,并将结果缓存一段时间。在缓存实现中,希望在 Web 服务调用完成之前阻止对该键的额外请求,以避免额外的(昂贵的)调用。
那么,实现键级锁的最佳方式是什么?Redis 是否支持开箱即用?ServiceStack 的IRedisClient.AcquireLock是否非常适合这种情况,或者如果我们不处理分布式锁,它是否有点矫枉过正?或者我最好自己实现锁,就像这里描述的那样?
提前致谢!