私は、多くのプロセスがリクエストを処理できる高負荷の Web サービスで、中央のキャッシュを使用して発生する可能性がある問題について考えてきました。
問題は、キャッシュ エントリの値がデータベースで変更されたときに期限切れになるキャッシュ エントリが、パフォーマンスに大きな影響を与える可能性があることです。期限切れのエントリが同時に多くのリクエストによってリクエストされた場合、リクエストごとに 1 回データベースにアクセスすることになります。
データベースを更新するたびにキャッシュを更新してそれを回避できますが、競合状態が発生します。
これをどのように解決しますか?