ホームページ >データベース >mysql チュートリアル >ブール型教育ヤン 18 Memcached ビデオ データ共有
Memcached は、データベースの負荷を軽減するために動的 Web アプリケーションで使用される高性能の分散メモリ オブジェクト キャッシュ システムです。データとオブジェクトをメモリにキャッシュしてデータベースの読み取り回数を減らすことにより、動的なデータベース駆動型の Web サイトの速度が向上します。 Memcached は、キーと値のペアを格納するハッシュマップに基づいています。そのデーモンは C で書かれていますが、クライアントは任意の言語で書くことができ、memcached プロトコルを通じてデーモンと通信します。
Memcached は、データベースの負荷を軽減するために動的 Web アプリケーションで使用される高性能の分散メモリ オブジェクト キャッシュ システムです。データとオブジェクトをメモリにキャッシュしてデータベースの読み取り回数を減らすことにより、動的なデータベース駆動型の Web サイトの速度が向上します。私たちは、誰もが Memcached 分散クラスターをよりよく学習できるようにしたいと考えて、「Boolean Education Yan Eighteen Memcached Video Tutorials」を収集しました。
動画再生アドレス: http://www.php.cn/course/314.html
1. memcachedの基本設定
1) Memcacheのサーバー側を起動します
# /usr/local/ bin /memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
-d オプションはデーモンプロセスを開始します。
-m はデーモンプロセスに割り当てられたメモリですMemcache 数量、単位は MB、ここでは 10MB、
-u は Memcache を実行しているユーザー、ここでは root、
-l は監視するサーバーの IP アドレス、複数のアドレスがある場合は、その IP アドレスを指定しますここのサーバーは 192.168.0.200、
-p は Memcache リスニングを設定するポートです。ここでは 12000 を設定します。できれば 1024 より上のポートです。
-c オプションは実行中の同時接続の最大数です。デフォルトは 1024 です。私は 256 を設定します。ここでは、サーバーの負荷に応じて設定します。
-P は、Memcache を保存するための pid ファイルを設定します。
2) Memcache プロセスを終了する場合は、次を実行します。
# kill ` cat /tmp/memcached.pid`
ハッシュ アルゴリズムは、任意の長さのバイナリ値を、より小さい固定長のバイナリ値にマップします。この小さなバイナリ値は、ハッシュ値と呼ばれます。ハッシュ値は、データを一意で非常にコンパクトに数値表現したものです。平文の一部をハッシュし、
段落の 1 文字でも変更すると、後続のハッシュでは異なる値が生成されます。同じ値にハッシュされる 2 つの異なる入力を見つけることは計算上不可能です。
2. 一貫性のあるハッシュ アルゴリズムの目的は 2 つあります。1 つ目は、ノードの変更後の他のノードへの影響を最小限に抑えること、2 つ目は、ノードの変更後のデータの再分散を可能な限りバランスよく行うことです。
3. memcached を実行する理由
Web サイトのトラフィックが多く、ほとんどのアクセスでデータベースの負荷が高くなる場合、memcached を使用するとデータベースの負荷を軽減できます。
4. memcached はどのようなビジネス シナリオに適していますか?
1) Web サイトにトラフィックの多い動的な Web ページが含まれている場合、データベースの負荷が非常に高くなります。ほとんどのデータベース リクエストは読み取り操作であるため、memcached を使用するとデータベースの負荷を大幅に軽減できます。
2) データベースサーバーの負荷は低いが、CPU 使用率が高い場合、計算結果 (計算オブジェクト) とレンダリングされた Web ページのテンプレート (レンダリングされたテンプレート) をキャッシュできます。
3) Memcached を使用してセッション データと一時データをキャッシュし、データベースへの書き込み操作を減らすことができます。
4) 小さいながらも頻繁にアクセスされるファイルをキャッシュします。
5) Web 'サービス' (IBM が推奨する Web サービスではありません、訳者注) または RSS フィードの結果をキャッシュします。
5. memcached が適用できないビジネス シナリオは?
1) キャッシュされたオブジェクトのサイズが 1MB を超えています
Memcached 自体は、大きなメディアやストリーミングの巨大な BLOB を処理するように設計されていません。
2) キーの長さが 250 文字を超えています
3) 仮想ホストでは memcached サービスの実行が許可されていません
アプリケーション自体がローエンドの仮想プライベート サーバーでホストされている場合、vmware やxen は memcached の実行には適していません。 memcached は、大きなメモリ ブロックを引き継いで制御する必要があります。memcached が管理するメモリが OS またはハイパーバイザーによってスワップアウトされると、memcached のパフォーマンスが大幅に低下します。
4) アプリケーションは安全でない環境で実行されます
Memcached はセキュリティ ポリシーを提供せず、memcached には Telnet 経由でのみアクセスできます。アプリケーションが共有システム上で実行されている場合は、セキュリティの問題を考慮する必要があります。
5) ビジネス自体には永続的なデータまたはデータベースが必要です
6. memcached 内のすべてのアイテムを走査できますか?
いいえ、この操作は比較的遅く、他の操作をブロックします (ここでの遅さは他の memcached コマンドと比較されています)。 add、set、get、fulsh などの memcached のすべての非デバッグ コマンドは、memcached に格納されているデータの量に関係なく、実行に消費されるのは一定の時間だけです。 memcached 内のデータ量が増えると、すべての項目をスキャンするコマンドの実行にかかる時間も長くなります。他のコマンドが待機しているとき (すべてを走査します
)アイテムのコマンドは実行済みですが実行できないためブロックが発生します。
以上がブール型教育ヤン 18 Memcached ビデオ データ共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。