ホームページ >バックエンド開発 >PHPチュートリアル >PHPメモリキャッシュ実装プログラムコード_PHPチュートリアル

PHPメモリキャッシュ実装プログラムコード_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:11:40693ブラウズ

PHP でのキャッシュは、メモリ キャッシュ、ファイル キャッシュ、ページ キャッシュなど、さまざまな種類に分かれています。この記事では、PHP でのメモリ キャッシュのいくつかの方法について説明します。以下では、PHP に付属する Memcached キャッシュと APC キャッシュ方法を紹介します。

1.Memcached キャッシュ。
memcached は、データベース クエリ結果をキャッシュし、データベース アクセスの数を減らして動的 Web アプリケーションの速度を向上させる、高性能の分散メモリ キャッシュ サーバーです。 memcached は、「Key=>Value」メソッドを使用してデータを整理します。これにより、異なるホスト上の複数のユーザーが同時にこのキャッシュ システムにアクセスできるようになり、通常は大規模な Web サイトで使用されます。 Memcached はデータをキャッシュするためにメモリを使用するため、サーバーが再起動されるか memcached プロセスが終了するとデータが失われるため、memcached を使用してデータを保持することはできません。

php_memcache を経験したことのある人は、PHP のメモリ キャッシュは非常に複雑なものだと考えるでしょうが、そうではありません。
memcached は、主に WEB 動的アプリケーションを高速化するために使用される、効率的で高速な分散メモリ オブジェクト キャッシュ システムです。
ここでは、WIN32 での memcached の構成と使用法を紹介します。

1. PHPメモリキャッシュの設定(WIN32環境)

1. php_memcache.rarを添付よりダウンロードしてください。

圧縮パッケージを解凍します: php_memcache.rar

php_memcache.rar 圧縮パッケージに含まれる主なファイルは次のとおりです:

/memcached-1.2.1-win32/memcached.exe
/php_memcache/php_memcache.dll

2.コマンド プロンプトを開き、memcached.exe があるパスを指定して、memcached.exe -d start を実行します。

3. php_memcache.dll ファイルを PHP の動的ファイル ライブラリのフォルダーにコピーします。

4. php.ini ファイルに extension=php_memcache.dll という行を追加します。

5. Apache を再起動し、phpinfo を確認します。memcache がある場合は、インストールが成功したことを意味します。


例:

メモリ キャッシュ 2
コードは次のとおりです コードをコピーします

//memcachedクラスファイルが含まれています
require_once('memcached-client.php');

/ /オプション設定
$options = array(
'servers' => array('www.hxsd.com:11211'),//memcached サービスのアドレスとポート
'debug' => true,/ /デバッグが有効かどうか
'compress_threshold ' => 10240, // データが何バイトを超えたら圧縮する
'persistant' => false // 永続的な接続を使用するかどうか
); // memcached オブジェクトをインスタンス化する
$memcached = new memcached($ options);

$sql = 'SELECT * FROM table1';
$key = md5($sql);

//memcached にキャッシュ データがない場合は、キャッシュ データを書き込みますmemcached へ
if(!($datas = $memcached->get($key)))
{
$conn = mysql_connect('localhost', 'hxsd', '123456');
mysql_select_db('hxsd') ;
$result = mysql_query($sql );
while($row = mysql_fetch_object($result))
{
$datas[] = $row;
}
// データベースから取得した結果セットのデータを memcached に保存します次回の訪問のために使用します。
$memcached->add($key, $datas);
}
else
{
//memcached $datas にキャッシュされたデータを直接使用します
}
?>

APC , EC、Zendアクセラレータの比較

1.APC

APC、正式名称はAlternative PHP Cache、正式訳は「Optional PHP Cache」と呼ばれています。

ホームページは http://pecl.php.net/package/apc

php ヘルプマニュアルページです: http://cn.php.net/apc

APC は、インストールしたその日から、 PHP アプリケーションをバックグラウンドでサイレントに実行すると、すべての PHP コードがキャッシュされます (php オペコード用)


さらに、APC は特定のメモリ キャッシュ機能を提供できますが、この機能は完全ではないという報告もあります。 APC キャッシュの書き込み関数を頻繁に使用すると、予期しないエラーが発生する可能性があります。この関数を使用したい場合は、apc_fetch、apc_store、および APC キャッシュに関連するその他の関数を参照してください。コードは次のとおりです

コードをコピー

# pecl install APC

設定: (/etc/php.inc)

コードは次のとおりです コードをコピーします

extension=apc.so

[apc]

コードは次のように コードをコピーします

apc.enabled = 1

apc.shm_segments = 1

apc.shm_size = 30

apc.optimization = 0

apc.ttl = 7200

apc.user_ttl = 72 00

apc.num_files_hint = 1000

apc.mmap_file_mask = /tmp/apc.XXXXXX


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444642.html技術記事 PHP のキャッシュは、メモリ キャッシュ、ファイル キャッシュ、ページ キャッシュなど、多くの種類に分かれています。この記事では、PHP でのメモリ キャッシュのいくつかの方法について説明します。以下では、Memcached キャッシュと...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。