ホームページ >バックエンド開発 >PHPチュートリアル >Memcached - PHP アセンブリと使用法

Memcached - PHP アセンブリと使用法

WBOY
WBOYオリジナル
2016-06-13 13:21:07793ブラウズ

Memcached - PHP のインストールと使用法

Memcached をダウンロード:
http://danga.com/memcached/download.bml

インストール:
libevent をダウンロードしてインストールします。すでにインストールしている場合はスキップできます:
ダウンロードアドレス: http://www.monkey.org/~provos/libevent/

Memcached For PHP モジュールのダウンロード アドレス:
http://pecl.php.net/package/memcache
http://cn.php.net/manual/zh/ref.memcache.php

Memcached サーバーをインストールします

root@tonyvicky:# tar vxzf memcached-1.1.12.tar.gz
root@tonyvicky:# tar vxzf memcached-1.1.12.tar.gz
root@tonyvicky:# cd memcached-1.1.12
root@tonyvicky:# ./configure --prefix=/usr/local/memcached
root@tonyvicky:# make
root@tonyvicky:# make install
root@tonyvicky:# cd memcached-1.1.12

root@tonyvicky:# ./configure --prefix=/usr/local/memcached

root@tonyvicky:# make
root@tonyvicky:# cd /usr/local/memcached/bin
root@tonyvicky:# ./memcached -d -m 50 -p 11211 -u root
root@tonyvicky:# インストールを行う

インストール後にサービスを再起動します:

root@tonyvicky:# cd /usr/local/memcached/bin
root@tonyvicky:# ./memcached -d -m 50 -p 11211 -u root

root@tonyvicky:# tar vxzf memcache-1.5.tgz
root@tonyvicky:# cd memcache-1.5
root@tonyvicky:# /usr/local/php/bin/phpize
root@tonyvicky:# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
root@tonyvicky:# make
root@tonyvicky:# make install

PHP モジュールをインストールします

root@tonyvicky:# tar vxzf memcache-1.5.tgz
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/
root@tonyvicky:# cd memcache-1.5

root@tonyvicky:# /usr/local/php/bin/phpize

root@tonyvicky:# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
extension_dir = "./"
root@tonyvicky:# make

root@tonyvicky:# インストールを行う

インストール後、次のプロンプトが表示される場合があります:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/"

php.ini を変更します
extension=memcache.so
は次のように変更されました: 行を追加します:


インストールが完了しました。テスト:

PHP コード

? $memcache ?=? 新しい ?Memcache;? //memcache オブジェクトを作成します ?

? ->接続( 'ローカルホスト' 、?11211)? または ? 死ね ?( 「接続できませんか?」 );? //Memcached サーバーに接続します

? $memcache ->set( 'キー' 、? 「テスト」 );? //変数をメモリに設定します。名前は key、値は test ?

? $get_value ?=? $memcache ->get( 'キー' );? //メモリからキー値を取得します ??

? エコー

? $get_value ;?

?>

Memcache のデフォルト関数
connect(ip, port)
set(キー, 値)? データ圧縮: set(キー, 値,?MEMCACHE_COMPRESSED )
get(key)
インクリメント 、設定と同じ (追加のカウント機能があるようですが、まだ試していません)
getStats() は現在のメモリ使用量を返します (配列を返します) print_r($memcached->getStats());
フラッシュしますか? メモリ使用量をクリアします。

コード例 (chinaunix から):

PHP コード

//アクセス統計 ??

$memcache ?=? 新しい ?Memcache;??

$memcache ->connect('localhost',?11211)? または ? 死ね ?( 「接続できませんか?」 );

もしも ( $s = $memcache ->get(’a’))?{?? ????$s = $s +1;?? ????$memcache ->set('a', $s );?? }?

その他 ?? $memcache ->set('a',1);

? エコー ?’アクセス結果は次のとおりです:’. $s ;??

?>

同等の PHP コード

$memcache ?=? 新しい ?Memcache;?

$memcache ->connect('localhost',?11211)? または ? 死ね ?( 「接続できませんか?」 );?? ?

場合 ( $s = $memcache ->increment(’a’,1))?{?? ????エコー ? $s ;?????? }?

その他 ?? $memcache ->set('a',1);

? ?>??

?データ圧縮 PHP コード

$memcache ?=? 新しい ?Memcache;??

$memcache ->connect('localhost',?11211)? または ? 死ね ?( 「接続できませんか?」 );

? $test =( str_repeat ('ジェットウォン',100000));?? $memcache ->set('b',( $テスト ));

?>

? 圧縮を使用します: ??

? $memcache ?=? 新しい ?Memcache

? $memcache ->connect('localhost',?11211)? または ? 死ね ?( 「接続できませんか?」 );

? $test =( str_repeat ('ジェットウォン',100000));

$memcache ->set('b',( $テスト ),MEMCACHE_COMPRESSED);

?>??

メモリの更新と PHP コードのクリーンアップ

? $memcache ?=? 新しい ?Memcache;?

$memcache ->connect('localhost',?11211)? または ? 死ね ?( 「接続できませんか?」 );??

? /*設定値*/

? $ステータス ?=? $memcache ->getStats();??

エコー ?'設定前のメモリ使用量'. $ステータス ['バイト'].'
';

エコー ?’設定後’;?? ( $i =0; $i $i ++)?{?? ????

?????? $memcache ->set(’b’. $i ,rand(1,99));?????? ???

?????? エコー ?’
’.
$i .’->’. $memcache ->get(’b’. $i );

}

? /*設定値を表示*/ ??

$ステータス ?=? $memcache ->getStats();

? エコー ?’ 削除 以前のメモリ使用量'. $ステータス ['バイト'].'
';??

エコー ?’
開始
削除 ’;??

( $i =0; $i $i ++)?{?? ??

? $memcache? -> 削除 ('b'. $i );??????

???エコー ?’
’.
$i .’->’. $memcache ->get(’b’. $i );??

}??

? /*フラッシュの使用状況を確認*/ ?

$ステータス ?=? $memcache ->getStats();??

エコー ?’ を使用してください フラッシュ 以前のメモリ使用量'. $ステータス ['バイト'].'
';??

エコー ?’ を使用してください フラッシュ 状況:';

( $i =0; $i $i ++)?{?? ????

?? $memcache ->set(’b’. $i ,rand(1,99));?????? ????

?? ?’
’. $i .’->’. $memcache ->get(’b’. $i );????

}??

$memcache -> フラッシュ ();
?

エコー ?’ フラッシュ の後:';?

( $i =0; $i $i ++)?{????????? ??

エコー? ?’
’。
$i .’->’. $memcache ->get(’b’. $i );

}??

$ステータス ?=? $memcache ->getStats();

エコー ?’ フラッシュ ポストメモリ使用量。 $ステータス ['バイト'].'
';??

?>

メモリ過剰テスト PHP コード

$memcache ?=? 新しい ?Memcache;??

$memcache ->connect('localhost',?11211)? または ? 死ね ?( 「接続できませんか?」 );?? ?? //約 600K

? $test1 =? str_repeat ('ジェットリー',100000);?? //約 600K ??

$test2 =? str_repeat ('ジェットリー',100000);?? //約 600K ??

$test3 =? str_repeat ('ジェット・リー',200000);?? //約 600K ?

$test4 =? str_repeat ('Lianjie Li',100000);?? //200K ?

$test5 =? file_get_contents (’http: //img.pconline.com.cn/images/photoblog/2988177/20068/4/1154688770042_mthumb.JPG’);

$test6 =? file_get_contents (’http: //img.pconline.com.cn/images/photoblog/1767557/20069/28/1159417108902_mthumb.jpg’); ?? ?

( $i =1; $i $i ++)?{??

?? $j ='テスト'。 $i ;?? ??

?? 場合 ( $memcache ->set( $j 、$ $j ))

?? {?? ??????

? ? ? ? ? エコー ? $j .'->設置成功
';??

?? ?????? $ステータス ?=? $memcache ->getStats();

?? ?????? エコー ?’内存:’. $ステータス ['バイト'].'
';

?? } その他 ?{

?? ??????エコー ? $j .'->セットアップに失敗しました
';

?? ??? }

? }?

?>

概要 PHP コード

? //設定

? もしも ( $data ?=? $memcache ->get(’k’, $v ))?{?? ???

?? // データを表示します ?? ???

}??

その他 ?{?

???$データ ?=?get_from_database;? //データソースを取得 ?? ??

なら? (! $memcache ->set(’k’, $data )、?MEMCACHE_COMPRESSED)? //設定開始 ?? ?

? log();????//失敗、失敗情報を記録します??? ??

}

?>

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