検索
ホームページバックエンド開発PHPチュートリアルmemcachedとは何ですか? memcacheの使い方は? _PHP チュートリアル

Memcached とは何ですか?

Memcached は、danga.com (LiveJournal を運営する技術チーム) によって開発された分散メモリ オブジェクト キャッシュ システムで、データベースの負荷を軽減し、動的システムのパフォーマンスを向上させるために使用されます。多くの人が SharedMemory のようなストレージ キャリアとして使用しています。memcached はデータの整理に同じ「Key=>Value」メソッドを使用しますが、共有メモリや APC などのローカル キャッシュとは大きく異なります。 Memcached は分散型です。つまり、ローカルではありません。ネットワーク接続に基づいてサービスを完了します (もちろん、localhost を使用することもできます)。それ自体はアプリケーションに依存しないプログラムまたはデーモン プロセス (デーモン モード) です。

Memcached は libevent ライブラリを使用してネットワーク接続サービスを実装します。理論的には、無制限の接続を処理できます。ただし、Apache とは異なり、安定した継続的な接続を重視しているため、実際の同時実行機能は制限されています。保守的な環境では、memcached の最大同時接続数は 200 ですが、これは Linux スレッドの機能に関連しており、この値は調整できます。 libevent については、関連ドキュメントを参照してください。

Memcached のメモリ使用量も APC とは異なります。 APC は共有メモリと MMAP に基づいており、Memcachd は独自のメモリ割り当てアルゴリズムと管理方法を備えており、通常、各 memcached プロセスは 2GB のメモリ空間を管理できます。より多くのスペースが必要な場合は、プロセスの数を増やすことができます。

Memcached の使用方法?

多くの場合、memcached は悪用されており、必然的に多くの人がそれについて苦情を言うことになります。よくフォーラムで「効率を上げるにはどうすればいいですか?」というような投稿をしている人を見かけますが、「memcached を使ってください」という返事が返されます。どこで使用しますか?何に使われますか?詳細な回答はありませんでした。著者がここで強調したいのは、memcached は万能薬ではなく、あらゆる状況に適しているわけではないということです。

Memcached は「分散」メモリ オブジェクト キャッシュ システムです。つまり、「分散」する必要がないアプリケーション、共有する必要がないアプリケーション、またはサーバーが 1 つしかないアプリケーションの場合、memcached は使用できません。それどころか、ネットワーク接続には、UNIX ローカル接続であってもリソースが必要になるため、システムの効率が低下します。

私の以前のテストデータは、memcached のローカル読み取りおよび書き込み速度が直接 PHP メモリ配列よりも数十倍遅いことを示しましたが、APC および共有メモリ メソッドは直接配列と同様です。ローカルレベルのキャッシュのみの場合、memcached の使用は非常に不経済であることがわかります。

Memcached はデータベースのフロントエンド キャッシュとしてよく使用されます。 SQL 解析、ディスク操作、その他のオーバーヘッドがデータベースよりもはるかに少なく、メモリを使用してデータを管理するため、大規模なシステムではデータベースを直接読み取るよりも優れたパフォーマンスを実現できます。多くの場合、memcached によりデータベースの負荷が大幅に軽減され、システムの実行効率が向上します。さらに、memcached はサーバー間でデータを共有するための記憶媒体としてよく使用されます。たとえば、SSO システムでシステムのシングル サインオン状態を保存するデータを memcached に保存し、複数のアプリケーションで共有できます。

memcached はデータの管理にメモリを使用するため、サーバーが再起動されるか memcached プロセスが終了するとデータが失われるため、memcached を使用してデータを永続化することはできないことに注意してください。多くの人は、memcached のパフォーマンスがメモリとハードディスクの比較と同様に非常に優れていると誤解しています。実際、memcached の実際のボトルネックはネットワークにあります。ディスクデータベースシステムと比較して、過剰なオーバーヘッドがなく、直接読み書きする方法がないため、非常に大量のデータを簡単に処理できるという利点があります。多くの場合、2 ギガビットのネットワーク帯域幅があり、それらはすべて完全にロードされており、memcached プロセス自体は多くの CPU リソースを占有しません。

興味がありそうな記事

  • PHP レポート 致命的なエラー 許可されたメモリ サイズ...メモリ不足のエラーを解決する方法
  • Windows での Memcache のインストールと設定チュートリアル
  • CSS の body の意味">html とは何ですか> 本文の意味
  • その年の現在の週または 1 月を計算するための php 関数
  • 文字列ステートメントを置換するための MySQL replace 関数の使用方法
  • 配列に含まれるかどうかを調べるための in_array() foreach array_search() の使用について
  • Mysql データベース キャッシュ関数の分析、デバッグ、パフォーマンスの概要
  • PHP 文字列エスケープ関数 (addslashes、stripslashes) の詳細な説明

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/764126.html技術記事 Memcached とは何ですか? Memcached は、danga.com (LiveJournal を運営する技術チーム) によって開発された分散メモリ オブジェクト キャッシュ システムで、動的システムにおけるデータベースの負荷を軽減し、改善するために使用されます。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPアプリケーションをより速くする方法PHPアプリケーションをより速くする方法May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

PHP依存性インジェクション:コードのテスト可能性を改善しますPHP依存性インジェクション:コードのテスト可能性を改善しますMay 12, 2025 am 12:03 AM

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

PHPパフォーマンスの最適化:データベースクエリの最適化PHPパフォーマンスの最適化:データベースクエリの最適化May 12, 2025 am 12:02 AM

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

簡単なガイド:PHPスクリプトで電子メールを送信します簡単なガイド:PHPスクリプトで電子メールを送信しますMay 12, 2025 am 12:02 AM

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPパフォーマンス:ボトルネックの識別と修正PHPパフォーマンス:ボトルネックの識別と修正May 11, 2025 am 12:13 AM

PHPパフォーマンスボトルネックは、次の手順で解決できます。1)パフォーマンス分析にXdebugまたはBlackfireを使用して問題を見つける。 2)データベースクエリを最適化し、APCUなどのキャッシュを使用します。 3)array_filterなどの効率的な関数を使用して、配列操作を最適化します。 4)bytecodeキャッシュ用のopcacheを構成します。 5)HTTP要求の削減や写真の最適化など、フロントエンドを最適化します。 6)パフォーマンスを継続的に監視および最適化します。これらの方法により、PHPアプリケーションのパフォーマンスを大幅に改善できます。

PHPの依存関係注射:簡単な要約PHPの依存関係注射:簡単な要約May 11, 2025 am 12:09 AM

依存関係(di)inphpisadesignpatternativats anducesclassodulencies、拡張測定性、テスト可能性、および維持可能性。

PHPパフォーマンスの向上:キャッシュ戦略と技術PHPパフォーマンスの向上:キャッシュ戦略と技術May 11, 2025 am 12:08 AM

cachingemprovesppperformancebystring of computationsorquickretrieval、還元装置の削減は、reducingerloadendenhancersponseTimes.efcectivestrategiesInclude:1)opcodecaching、compiledphpscriptsinmemorytoskipcompilation;

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境