ホームページ > バックエンド開発 > PHPチュートリアル > eAccelerator と memcached_PHP チュートリアルの違いの詳細な説明

eAccelerator と memcached_PHP チュートリアルの違いの詳細な説明

WBOY
リリース: 2016-07-21 15:08:56
オリジナル
850 人が閲覧しました

eAccelerator と memcached は、現在 PHP で使用できる 2 つの主流のキャッシュ アクセラレーション ツールです。
eAccelerator は PHP 用に特別に開発されており、memcached は PHP だけでなく、他のすべての言語でも使用できます。

eAccelerator の主な機能:

1. PHP ファイルの実行コードをキャッシュします。キャッシュされたコードが再度呼び出されるとき、メモリから直接読み取られるため、PHP の実行速度が大幅に低下します。
2. 共有メモリ操作機能を提供します: ユーザーは共通の非リソース オブジェクトをメモリに保存し、いつでも読み出すことができます。

memcached の主な機能:

データの保存と読み込みのための共有メモリ操作機能を提供します

二人の共通点:

共通点:

両方とも、独自のデータの保存と読み取りに使用できる共有メモリ操作機能を提供します

2 つの違い:

eAccelerator は PHP の拡張ライブラリとして存在するため、PHP の実行中にのみ共有メモリを操作し、読み書きすることができます。一般に、eAccelerator は、PHP を操作するプログラム自体によってのみ呼び出すことができます。共有メモリ。
同時に、eAccelerator は PHP プログラムの実行コードをキャッシュして、プログラムの読み込みと実行速度を向上させることができます。

memcached は主に共有メモリサーバーとして使用され、その PHP 拡張ライブラリは、MySQL 拡張ライブラリと同様に、PHP から memcached への接続ライブラリとしてのみ存在します。そのため、memcached は PHP から完全に分離でき、共有データを共有することができます。さまざまなプログラムによって呼び出されます

この 2 つの違いに従って、本当に必要な場合に使用します。

eAccelerator は主にスタンドアロン PHP の高速化と中間データのキャッシュに使用され、リアルタイムのパフォーマンスが高くてもデータ操作の量が少ない場合に非常に実用的です。

memcached は分散システムやクラスターシステムで使用され、複数のサーバーでデータを共有でき、リアルタイム性が高く、データ操作の量が多い場合に非常に実用的です。

MemCached の正しい理解

最初、MemCached はデータをメモリにキャッシュし、そのデータを操作するために使用されると聞きました (ここでの操作にはクエリと更新が含まれます)。これは本当に素晴らしいと思います。これにより、データベースを一定期間運用する必要がなくなります。それは素晴らしいことです。 それでは、クエリは確かに可能ですが、メモリを更新するときに同時実行を処理するにはどうすればよいでしょうか? もしそうなら、それは素晴らしいことになるでしょうか?

しかし、物事は言われたとおりではありません。 MemCached に対するこの理解は間違っています。

MemCache も他のキャッシュと同じで、データが更新されるとキャッシュされたものは古いものになります。

オンラインで読みましたが、先輩たちの MemCached の説明がこの点を説明しています。

したがって、データベース リンクを省略して MemCached を直接更新することは期待しないでください。

私は、彼が提供した set メソッドがデータベースの更新に使用されていると思いました。

実際、この方法はデータベース内のレコードをMemCachedにキャッシュし、その有効期間を指定するというものです。

ここで、なぜレコードを削除したとしても、MemCached の内容が変わっていないのか考えてみました。

set() のとき、有効期限を設定しなかったため、デフォルトは 0 で、これは有効期限が切れないことを意味します。 MemCached サーバーは、再起動しない限り、常に存在します。

このように、ROR プロジェクトではキャッシュを使用してデータベースの取得を減らしていますが、MemCached によってデータベースの更新が不要になることは期待できません。

本当にデータベースを更新する必要さえなくなったら、本当に非データベース時代が到来することになります(笑)。おそらく可能性は低いでしょう。ユーザーが次々と列に並ぶようにできれば。

アップデートによるプレッシャーを軽減する別の方法を見つけてみましょう。

http://www.bkjia.com/PHPjc/327403.html

www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/327403.html技術記事 eAccelerator と memcached は現在、PHP で使用できる 2 つの主流のキャッシュ アクセラレーション ツールです。eAccelerator は PHP 用に特別に開発されており、memcached は PHP だけでなく他の...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート