2019年9月9日のmemcache


キャッシュそれは何ですか?
キャッシュは、データを格納するための一時的な場所(頻繁にデータを使用)された
キャッシュは、データの大きなプールと考えることができます


まず、データキャッシュは
ここで話しているページにアクセスするたびに、彼らが最初に対応するキャッシュデータが存在するかどうかをテストし、そうでない場合、データベースに接続するには、データを取得し、クエリ結果の順序になることを、データベースクエリキャッシュデータキャッシュでありますキャッシュテーブルまたはファイルから直接取得した同じクエリ結果の後に、ファイルを保存した後。
最も広く使用されている例清華検索機能を見て、テーブルにIDキャッシュの結果は、最初に同じキーワードのキャッシュテーブル次回の検索を検索します。
スケジュールの内容物は、所望の外観にアレイが、この利点は、読み取り専用テーブルデータ欠点が2であるメインテーブル内のフィールドを生成する配列を、保存された一般的に使用される方法、関連するマルチテーブルの同期は、より多くのステップになると、データベースは、ハードドライブのスワップレートで、これは重要なポイントである、常にボトルネックとなっています。
第二に、ページキャッシュ
ページを訪問するたびに、最初に対応するキャッシュページファイルは、データを取得し、データベースに接続するページを表示し、そうでない場合は、存在するかどうかをテストすると同時に、キャッシュページファイルを生成するようにするときの次の訪問ページファイル役割について。(テンプレートエンジンといくつかの一般的なWebキャッシュクラスは、通常は、この機能を持っています)。
第三に、タイムトリガキャッシュは
ファイルが存在し、タイムスタンプが現在のタイムスタンプを引い大きな期限切れのタイムスタンプよりファイルの変更のタイムスタンプは、キャッシュを使用するか、またはキャッシュを更新する場合は、有効期限を設定未満であるかどうかをチェックします。
第四に、キャッシュの内容がトリガされ
たときに挿入データや更新データ、強制アップデートキャッシュ。
第五に、静的キャッシュは
ここで話していることは、静的なキャッシュを指し、そのような更新は一度再生成されたときに、直接HTMLやXMLテキストファイルを生成するものとして、静的であり、ページを変更するには適していません、これは言っているわけではありません。
上記のコード・レベルのソリューションである、と私は内容が類似している変更する気にしないでください、CP、他のフレームワークを向け、それを行うのは簡単で、いくつかの方法で一緒に使用されますが、以下では、サーバー側のキャッシュ・スキーム、非コードでありますレベルは、マルチパーティの協力を行うことができます持っています。
第六に、メモリキャッシュ

memcachedのは、アクセス速度を高めるために、動的なアプリケーションのデータベース負荷を低減するため、高性能、分散メモリオブジェクトキャッシュシステムです。

memcacheの分散キャッシュは、分散データ・キャッシングとWebサイトのセッションストレージのためのソフトウェアのセットです。期限切れのキー=>値の保存された支援データ圧縮処理およびデータ保存処理を使用してください。値は、そのような保存しJSONに変換することができ、他の形式の必要性などの文字列を、サポートしています。


Windowsのインストールmemcahce

MemcacheのWindowsの下にインストール:
1.ダウンロードWindowsのmemcacheの安定版、Cなど、解凍の下にパンを置く:\ memcachedの
2は、端末内にC」入力します(つまり、CMDコマンドインタフェースを):\ memcached.exe \ memcachedの-d 'インストールインストール
C:3.入力してください':\ memcachedの\ memcached.exeは 「開始-d プロモーターを。注:memcachedは時に各ブートのWindowsサービスとして自動的に起動した後。このようなサーバがインストールされています。
4.ダウンロードでphp_memcache.dll、対応するPHPファイルの独自のバージョンを確認してください
Cで5:「を延長=でphp_memcache.dll」\ WINNT \ php.iniの行を追加し
、6 Apacheを再起動memcacheの場合は、その後、するphpinfoを見て、その後、インストールは成功です!

$ MEM =新しいMemcacheの。
$ MEM->( "127.0.0.1"、11211)を接続します。
$ MEM->セット( 'キー1'、 'これはテストです!'、0、60);
$ valを= $ MEM->( 'KEY1')を取得します。
エコー$ valを。

Memcacheのオブジェクトを初期化する:
$ = MEM新しい新しいMemcacheのを。

当社のサーバーに接続するMemcache最初のパラメータは、サーバのIPアドレスである、それはホスト名を指定することができ、2番目のパラメータは開いているポートのMemcacheのです:
$ MEM->接続(「localhost」を、11211);

メモリキャッシュは、サーバーにデータを保存し、最初のパラメータは、位置決めデータに使用される鍵データであり、2番目のパラメータは、データの内容を保存する必要があり、これは文字列であり、第三のパラメータはフラグであり、一般的に設けられています。 0またはライン上MEMCACHE_COMPRESSED、四番目の引数は、過去、この時点では、それは秒単位で、Memcacheのサーバー側のデータのうち、クリアされた場合に設定されている場合、この時点でのデータは、有効であることがあること、有効なデータであります0、それは我々が、つまり、1分の有効時間60を設定するためにここにいる、常に効果的である:
$ MEM-> SET(「キー1」、「これが第1の値である」、0、60);

Memcacheのサーバ側のデータから取得し、それは一つのパラメータのみ、キーデータを取得する必要があり、我々はここにあるセットのステップをKEY1で、今、このデータ出力を得る:
$ $ MEM-ヴァル=> GET(「KEY1」) ;
「GETキー1値:.」$ヴァルエコー。

パラメータはメソッドが同じで置き換える設定で、それは、KEY1の上記の値に置き換えるための方法を置き換える使用しているが、最初の引数はKEY1は、キーのデータ内容を置き換えることでなければならないで、最終的な出力:
$ MEM->置き換えます( ' KEY1 ''この値が置き換え')60、、0;
$ $ = MEM-ヴァル>(GET'キー1「);
$ヴァル"GET値を:. KEY1"エコー;

同様に、アレイは、次に取得し、バック出力、Memcacheの上記アレイに保存され、次の、Memcacheのは保存することができる
$のARR =アレイ(「AAA」、「BBB」、「CCC」、「dddをを」);
$ MEM- > SET( 'KEY2'、$のARR、0、60);
$ $ = MEM-VAL2> GET( 'KEY2');
ますprint_r($ VAL2)。

最終出力は結果でない場合さて、あなたはこのキーデータを削除するMemcacheのサーバーを置くことができ、delteインタフェースが重要なパラメータで使用し、データを削除
$ MEM-(「キー1」)[削除]>;
$ = $ MEM-ヴァル> ( 'KEY1')を取得します。
。エコー"のGetキー1値:." $ヴァル"<BR>"。

最後に、我々はMemcacheのははっきりしているサーバー上に保存されているすべてのデータを入れて、あなたはデータを見つけるでしょうなくなっている、最終的な出力データKEY2は空であり、そして最後に閉じ接続
$ MEM->フラッシュ();
$ MEM-$ val2の=>は(GET ; 'KEY2')
"のGet KEY2値:"エコー;
しますprint_r($ val2の);
エコー"<BR>"。

メモリキャッシュを使用し
、対応するデータが格納され、メモリキャッシュトークンにユーザ名とユーザIDの組み合わせであってもよいです。使用時には、このユニークなトークンを通じて価値を得るために、有効期限を設定してください。データが更新されると、最初の前にトークンの値を削除し、新しい値が保存されます。
所望の値。データが更新されると、最初の前にトークンの値を削除し、新しい値が保存されます。


もし(check_key_exists($ MEM 'FOO')){
エコー'fooのキーの存在を<BR>';
}他{
エコー'fooのキー不存在<BR>';
}
判断キー
機能check_key_exists($ MEM、$名){
$データ= $ MEM->($ name)を得ます。
$データを返す== falseを!。
}

原則memcacheの

まず第一に指摘して、メモリに保存されているメモリに保存されたMemcacheのデータは、個人と信じている意味します:

1は、Oracle、MySQLの永続的なデータを維持するために、これらの従来のリレーショナルデータベースは、データをハードディスクに格納され、IO操作が遅いので、より速く、従来のリレーショナルデータベースよりデータへのアクセス速度

図2は、同時にメモリに格納されたメモリキャッシュデータがあれば、memcacheの再起動が、データが消失することを意味します

Memcacheのデータがメモリに格納されているので、図3に示すように、それが機械桁の限界であることがバインドされて、何回前に書き込まれ、読み出し専用メモリ、32ビット機、64機の最大2GBを使用することができ、この記事では、上限はないこと

1.memcache最大有効期間は30日間です
。2.デフォルトのポート:11211
3.コンセプトヒット
クライアントが要求を開始し、我々のアプリケーションが要求を受け入れるために、最初にキャッシュをチェックするとデータベースが読み込まれる必要があるとき製品情報。
キャッシュは、エントリがマークで発見された場合、エントリが使用されます、我々は、キャッシュヒットと呼んでいます。

おすすめ

転載: www.cnblogs.com/zhangxu-fasu/p/11491620.html