ホームページ  >  記事  >  バックエンド開発  >  PHPでのmemcacheの詳しい説明

PHPでのmemcacheの詳しい説明

WBOY
WBOYオリジナル
2016-06-20 12:33:59751ブラウズ

memcahe は分散ストレージ システムであり、主にサーバー間の接続が存在せず、ハッシュ テーブルが主にキーと値のペアで保存されるという点に反映されます。

mystr

key

value

mystr

“abc”

myarr

Array(“aa”, “cc”);

object

Object值

キー
"abc"
myarr Array(“aa”, “cc”);
オブジェクト オブジェクトの値


動作原理

Memcache ソフトウェア、memcached

memcached は 1 つ以上のサービスでデーモンとして実行され、いつでもクライアントの操作と接続を可能にします。


memcache のインストールについて

Linux 環境でのインストール


libevent イベントに基づく

Linux 環境
libevent インストール時
./configure –with-libevent=/usr
. 🎜>
Make && make install

Memcahced を開始します –d –m 128 –l 192.168.1.111 –p 11211 –u root
停止: kill `cat /tmp/memcached.pid`;
Killall memcached


Windows
Memcahced.exe -d install [アンインストール]
Memcached.exe – d -m 50 –l 127.0.0.1 -p 11211 start
>

、Memcached サーバー管理 (起動)

memcached の基本設定:
-p リスニング ポート
-l 接続先 IP アドレスデフォルトはローカルマシンです。

-d start start memcached service

-d restart memcached サービスを再起動します
-d stop|shutdown 実行中の memcached サービスを閉じます
-d install memcached サービスをインストールします
-d uninstall memcached サービスをアンインストールします。
-u Run as (root として実行する場合のみ有効)
-m 最大メモリ使用量 (MB 単位)。デフォルトは 64MB、最大は 2G のようです
-M メモリが使い果たされた場合、アイテムは削除されずにエラーが返されます
-c 同時接続の最大数、デフォルトは 1024
- f ブロック サイズの増加係数、デフォルトは 1.25
-n 最小割り当てスペース、キー+値+フラグのデフォルトは 48
-h ヘルプの表示





7. memcache を走査する方法

8. PHP プログラムで Memcached を使用する

a PHP に Memcache 拡張機能をインストールする

プロセス指向のメソッドを使用できます


オブジェクト指向メソッド

b PHP の場所 memcache を使用します

1. memcache を使用して、データベースから読み取ったデータを処理 (選択) します
2.

を使用しますセッション制御セッション c 例

9 、Memcache セキュリティ (他人のアクセスを許可しない)

1. イントラネット
2. ファイアウォールのセットアップ
Iptables –A INPUT –p tcp –s 192.168.1.111 –dport 11211 –j ACCEPT
iptables -A INPUT -p udp -s 192.168.1.111 -dpost 11211 -j ACCEPT


インストールを開始します。 🎜>




コマンド


説明 get値を読み取るset無条件にキーを設定します add新しいキーを追加します置き換え

get mykey

set mykey 0 60 5

add newkey 0 60 5

既存のキーを上書きします

キーを置き換えます 0 60 5

追加

既存のキーにデータを追加

キーを追加 0 60 15

prepend

既存のキーの先頭にデータを追加

キーの先頭に追加 0 60 15

incr

数値キーの値を指定された数値だけ増分します

incr mykey 2

decr

数値キーの値を指定された数値だけ減分します

decr mykey 5

delete

既存のキーを削除します

delete mykey

flush_all

特定のアイテムをすぐに無効化します

flush_all

n 秒以内にすべてのアイテムを無効化します

flush_all 900

統計

一般的な統計を印刷します

統計

メモリ統計を印刷します

stats slabs

メモリ統計を印刷します

stats malloc

上位レベルの割り当て統計を出力

統計アイテム


統計詳細


統計サイズ

統計をリセットします

統計をリセットします

バージョン

サーバーのバージョンを出力します。

バージョン

冗長性

ログレベルを上げます

冗長性

終了

Telnet セッションの終了

辞めます

pid

Memcache サーバー プロセス ID

稼働時間

サーバーが実行されている秒数

time

サーバーの現在の UNIX タイムスタンプ

バージョン

memcache version

pointer_size

現在のオペレーティング システムのポインター サイズ (32-ビット システムは通常 32 ビットです)

rusage_user

プロセスの累積ユーザー時間

rusage_system

プロセスの累積システム時間

curr_items

サーバーに現在保存されているアイテムの数

total_items

サーバーの起動以降に保存されたアイテムの合計数

バイト

アイテムを保存する現在のサーバー

curr_connections

現在開いている接続の数

total_connections

サーバーの起動以降に開かれた接続の数

connection_structs

サーバー割り当て コネクション構築数

cmd_get

get コマンド (get) リクエストの総数

cmd_set

set コマンド (save) リクエストの総数リクエスト数

get_hits

合計ヒット数

get_misses

合計ミス回数

エビクション

空きメモリを取得するために削除されたアイテムの数 (memcache に割り当てられたスペースがいっぱいになった後、新しいアイテムに割り当てられたスペースを得るために古いアイテムを削除する必要があります)

bytes_read

合計読み取りバイト数 (要求されたバイト数)

bytes_write

送信された合計バイト数 (結果のバイト数)

limit_maxbytes

memcache に割り当てられたメモリ サイズ (バイト)

スレッド

現在のスレッド数




pid memcache サーバーのプロセス ID
uptime サーバーが実行されている秒数
time サーバーの現在の UNIX タイムスタンプ
version Memcache のバージョン
pointer_size 現在の操作 システムのポインター サイズ (通常、32 ビット システムの場合は 32 ビット)
rusage_user プロセスの累積ユーザー時間
rusage_system プロセスの累積システム時間
curr_items現在サーバーに保存されているアイテム
total_items サーバーの起動以降に保存されたアイテム アイテムの合計数
bytes 現在のサーバーがアイテムを保存するために占有しているバイト数
curr_connections 現在開いている接続の数
total_connectionsサーバーの起動後に開かれた接続の数
connection_structs サーバーによって割り当てられた接続構造の数
cmd_get 取得コマンド (get) のリクエストの総数
cmd_set set コマンド (保存) のリクエスト
get_hits ヒットの合計数
get_misses ミスの合計数
evictions 空きメモリを取得するために削除されました アイテムの数 (memcache に割り当てられたスペースがいっぱいになった後、古いアイテム)新しい項目に割り当てるスペースを取得するには削除する必要があります)
bytes_read 読み取られた合計バイト数 (要求されたバイト数)
bytes_write 送信された合計バイト数 (結果のバイト数)
limit_maxbytes 割り当てられたメモリ サイズto memcache (bytes)
threads 現在のスレッド数


詳細については、PHP マニュアルの「LXXXIV. Memcache 関数」の章を参照してください。
Memcache の一般的なオブジェクト指向インターフェイスには次のものがあります。
Memcache::connect -- Memcache への接続を開きます
Memcache::pconnect -- Memcache への長い接続を開きます
Memcache::close - - Memcache 接続を閉じる
Memcache::set -- データを Memcache サーバーに保存します
Memcache::get -- Memcache サーバーに保存されたデータを抽出します
Memcache::replace -- すでに存在する 1 つのプロジェクトを置き換えますMemcache サーバー上に存在します (Memcache::set と同様の機能)
Memcache::delete -- 保存されているプロジェクトを Memcache サーバーから削除します
Memcache::flush -- Memcache サーバーに保存されているすべてのプロジェクトを更新します (同様の機能)
Memcache::getStats -- 実行中の現在の Memcache サーバーのステータスを取得します。
Memcache::addServer -- 分散サーバーにサーバーを追加します

php を使用して memcache を操作する


$mem=new Memcache;

$mem->connect ("localhost", 11211);

/*
* 注:
* 1. 同じプロジェクトを 2 回インストールする場合、キーにはプレフィックス
*
*< が必要です。 🎜> */

$sql="ショップから * を選択";
$key=substr(md5($sql), 10, 8);

$data=$mem -> ;get($key);

if(!$data){

$mysqli=new mysqli("localhost", "root", "123456", "xsphpdb") ;

$result=$mysqli->query($sql);

$data=array();

while($row=$result->; Fetch_assoc( )){
$data[]=$row;
}

$result->free();
$mysqli->close();

$mem->set($key, $data, MEMCACHE_COMPRESSED, 3600);

echo $sql;

}
echo '

';<br> print_r($data);<br> echo '
';

$mem->close();


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。