ServiceStack Redisクライアントを使用して、非常に一般的なキャッシュシナリオを実装しようとしていますが、この良い例を見つけるのに苦労しています。
ASP.NET MVCアプリでは、外部Webサービスに対して比較的長時間実行される(および従量制の)呼び出しを行い、一定期間結果をキャッシュします。キャッシュの実装では、追加の(高価な)呼び出しを回避するために、Webサービスの呼び出しが完了するまでそのキーに対する追加の要求をブロックすることが望まれます。
では、キーレベルのロックを実装するための最良の方法は何ですか?Redisはこれをすぐにサポートしますか?ServiceStackのIRedisClient.AcquireLockはこれに適していますか、それとも分散ロックを扱っていない場合はやり過ぎですか?それとも、ここで説明するように、自分でロックを実装するのが最善でしょうか?
前もって感謝します!