キャッシュオブジェクトを無効化/更新するためのより良いアプローチを知りたいのですが。
前提条件
アプローチ1(キャッシュにできるだけ早く保存)
アプローチ1の方が簡単なようです。何かが作成された場合は、できるだけ早くキャッシュに入れてください。誰かに関係なくそれが必要になります。
アプローチ2(レイジーキャッシュストア)
アプローチ2の方がメモリを意識しているようです。このアプローチでは、要求されたアイテムのみがキャッシュに入れられます。
質問1:パフォーマンスを考慮して、より良いアプローチは何ですか?メモリもCPUもまだカウントされません。
質問2:私の考えは一種の時期尚早な最適化ですか?
質問3:他に何か考えはありますか?他のアプローチ?
memcachedは独自のポリシーを使用してオブジェクトを管理します。キャッシュされたオブジェクトは、誰もアクセスしなかったり、memcachedがメモリ不足になると期限切れになります。したがって、オブジェクトの作成時にメモリ不足が原因でmemcached内のオブジェクトが無効化され続けるため、最初のアプローチはお勧めできません。
Q1。アプローチ2は、パフォーマンスの向上はほとんどありませんが、memcachedにオブジェクトを送信しないため、パフォーマンスの点で優れています。
Q2。言うのは難しいです。あなたはボトルネックを知っていて、それが時期尚早ではないアプローチを起草すると仮定します。
Q3。 memcachedのみのキャッシュなどの他のアプローチがあります。