前の記事では、$mem->set(); を学習するときに、3 番目のパラメータ MEMCACHE_COMPRESSED を圧縮に使用するように記述しました。
Memcache は独立した機関であり、C/S 構造を持っています。 memcache がいっぱいの場合、LRU アルゴリズムはアクセスされていない最も古いものを削除します。
Memcache の配布 ここが重要なポイントです
2 番目の部分では、connect メソッドが addserver() に変更され、memcache サーバーが接続プールに追加されます。
例:
$mem -> new Memcache();$mem -> addServer('127.0.0.1',11211); //增加链接池$mem -> addServer('127.0.0.1',9999); //增加链接池 $mem -> get($key);
memcached は「分散」キャッシュ サーバーですが、サーバー側に分散機能はありません。
各 memcache は情報共有のために相互に通信しません。各 memcache サービスのデータは同期されません。
そして、どの memcached にどのようなデータを入れるかは、クライアントの mem オブジェクトによって決まります。
addServer を実行すると、すぐに mem サービスに接続されるのではなく、計算とハッシュ化の後にどの mem サービスに接続するかが決定されるため、多数のサービスが接続プールに追加されると、オーバーヘッドが発生しないようにします。
memcache の詳細を学習します
ライフサイクル。投入した時点から時間が経過し、時間が経過すると自動的に消滅します。 Memcache は以下の場合に破棄されます。一つ、時間切れです。 2. memcache を再起動します。 3. サーバーを再起動します。
memcache にセッションを保存する方法
php.ini 設定ファイルを変更します
session.save_handler=user 3 つのオプションがあります。ユーザーは、カスタム ファイルがデータベースに保存されることを意味しますmemcache をメモリに保存したファイルに
以下のように変更します。 session.save_handler を memcache
に変更します。 session.save_path="tcp://127.0.0.1,11211"
2 . apache を再起動します
注: セッション データが memcache に保存されている場合は、session_id をキー値として追加する必要があります。
将来大規模なポータル Web サイトを構築する場合は、セッションを memcache に書き込む必要があります。 (強く推奨)
php.ini ファイルを変更できない場合は、関数を使用して php.ini の設定を変更できます。次の 2 つの文をスクリプトのフロントエンドに書き込むことができます。
ini_set("session.sava_handler","memcache");ini_set("session.save_path","tcp://127.0.0.1:9999"); //函数的参数都是以减值对的形式存入
ini_set() は非常に強力で、php.ini 内の任意の値を変更できます。
セーフ モード モードについて説明します
これらの最大の違いは、セーフ モードをオンにすると、サーバー上のファイルに対する操作がほとんど無効になることです。
ini_set() はスクリプトでのみ機能し、他のファイルでは機能しません。