MemcachedとAPCの違いを理解しようとしています。なぜ人々がどちらか一方または両方を使用することについて話しているのはなぜですか。完全に違う役割だと思っていたのに、なぜ両方を使わないのか分かりません。これが私の理解です:
[〜#〜] apc [〜#〜]
これは、PHPコードのチャンクをキャッシュしてRAMに格納します。次に、同じコードを再度実行する必要がある場合、すでにキャッシュされており、メモリから高速で実行されます。
PHP-FPMを実行する私の特定のケースでは、これによりその負荷が軽減されます。
Memcached
(2つのphpモジュールの違いを無視し、この目的のために同じものとして扱います)
これにより、DBオブジェクトがキャッシュされ、RAMに格納されます。次に、drupalが同じデータベースオブジェクトを呼び出す必要がある場合、すべての情報はそこにあり、データベースに移動する必要はありません。
MySQLを実行している私の特定のケースでは、これによりその負荷が軽減されます。
Drupalキャッシュビン
Drupalキャッシングについてのスタック交換とAPCとmemcachedについて言及しているキャッシュビンの両方について、Stack Exchangeにはたくさんの質問があります:
このため、この分野で非常に有益な質問のいくつかは、Memcachedを使用することをお勧めします。他のいくつかの質問では、両方を導入することに大きな違いはないと述べています。
しかし、私はこれがどのように機能するか理解していません。それらは完全に異なるものをキャッシュしていませんか?
よく使われるビューがあるとします。 memcachedはビューに表示されているDBオブジェクトをキャッシュしておらず、APCはそれらを呼び出すモジュールコードをキャッシュしていますか?
Drupalキャッシュビンごとに1つのキャッシュしか使用できないので、DBオブジェクトまたはPHPコードをキャッシュすることを選択でき、実際にはほとんどの場合Drupalキャッシュビンは、2つの間のパフォーマンスの違いがほとんどないか、大きすぎてすべてをキャッシュできないPHPなので、DBオブジェクトのキャッシュが唯一の合理的なオプションですか?
(したがって、ほとんどの人がmemcacheをデフォルトのキャッシュビンオプションとして提案する理由、つまり$conf['cache_default_class'] = 'MemCacheDrupal';
)
APCとmemcacheの主な違いを確認する。 apcとmemcacheのインストール方法。この投稿を参照できます。 http://www.phpwala.com/php/difference-between-apc-and-memcache-php/2016/02
本当に役に立ちました。ありがとう