システムの負荷に影響を与える何かをキャッシュできないという問題がありました。
バグが原因で、私のコードは間違ったパラメーターでサービスを呼び出していましたが、そのサービスはもちろん 404、null、空を返しました。基本的に、要求を満たすものは何も見つかりませんでした。何も見つからなかったという事実が、応答をキャッシュしていたプロシージャーに返されました。私のキャッシュ システムでは、値 null をキャッシュすることはできないため、基本的に応答をキャッシュできなかったり、応答がないという事実をキャッシュしたりすることができなかったため、このシナリオが発生するたびにライブ コールを行う必要がありました。バグのため、それはたくさん起こりました。
もちろんバグを修正しましたが、私の質問は、リソースが見つからなかったという事実をキャッシュする方法があるかどうか、および/またはキャッシュする必要があるかどうかです。このような安全策を講じていれば、バグはそれほど深刻ではなかったでしょう。
何かが見つからないかどうかをキャッシュする方法はありますか? なぜですか、そうでないのですか?
spymemcached クライアントで memcache サーバーを使用しており、私のコードは Java で書かれていますが、私の質問はその事実にとらわれないはずです。おそらく、他の実装では、cacheKey exists メソッドまたはそのようなものを提供できます。私はこれを調査しましたが、Java の世界で私の状況に適していると思われるものは何も見つかりませんでした。あったとしても、会社の基準で切り替えられない場合があります。