PHP がメモリをキャッシュとして使用する方法

*文
リリース: 2023-03-18 11:50:02
オリジナル
5432 人が閲覧しました

この記事では主に、PHP がキャッシュ実装方法としてメモリをどのように使用するか、Memcached キャッシュの使用状況を分析し、APC、EC、Zend アクセラレータの使用状況を比較する方法を紹介します。必要な友人は参考にしてください。

詳細は以下の通りです:

phpのキャッシュはメモリキャッシュ、ファイルキャッシュ、ページキャッシュなど多くの種類に分かれています。この記事では、php でのメモリ キャッシュのいくつかの方法について説明します。ここでは、Memcached キャッシュと、php.

1.Memcached キャッシュに付属する APC キャッシュ方法を紹介します。

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

php_memcache を使用したことがある人は誰でも、実際には、主に効率的で高速な分散メモリ オブジェクト キャッシュ システムであると考えるでしょう。 WEB 動的アプリケーションを高速化するために使用されます

ここでは、WIN32 での memcached の構成と使用法を紹介します

1. php_memcache.rar をダウンロードします

圧縮パッケージをダウンロードします。 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 がある場合は、インストールが成功したことを意味します。

例、コードは次のとおりです:

<?php 
//包含 memcached 类文件 
require_once(&#39;memcached-client.php&#39;); 
 
//选项设置 
$options = array( 
 &#39;servers&#39; => array(&#39;www.jb51.net:11211&#39;),//memcached 服务的地址、端口 
 &#39;debug&#39; => true,//是否打开debug 
 &#39;compress_threshold&#39; => 10240,//超过多少字节的数据时进行压缩 
 &#39;persistant&#39; => false//是否使用持久连接 
 ); 
 
//实例化memcached对象 
$memcached = new memcached($options); 
 
$sql = &#39;SELECT * FROM table1&#39;; 
$key = md5($sql); 
 
//如果在memcached中没有缓存数据,把缓存数据写入memcached 
if(!($datas = $memcached->get($key))) 
{ 
 $conn = mysql_connect(&#39;localhost&#39;, &#39;hxsd&#39;, &#39;123456&#39;); 
 mysql_select_db(&#39;hxsd&#39;); 
 $result = mysql_query($sql); 
 while($row = mysql_fetch_object($result)) 
 { 
  $datas[] = $row; 
 } 
 //将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。 
 $memcached->add($key, $datas); 
} 
else 
{ 
 //直接使用memcached中的缓存数据$datas 
} 
?>
ログイン後にコピー

メモリキャッシュ2、APC、EC、Zendアクセラレータの比較


1、APC

APC、正式名称はAlternative PHP Cacheと呼ばれます「オプションのPHPキャッシュ」、ホームページはhttp://pecl.php.net/package/apc、PHPヘルプマニュアルページ:http://cn.php.net/apc

APCはオプティマイザです。インストールした日からバックグラウンドで静かに実行されます。PHP アプリケーションはすべて、php オペコードを対象としてキャッシュされます。

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

# pecl install APC
ログイン後にコピー

Configuration: /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 = 7200 
apc.num_files_hint = 1000 
apc.mmap_file_mask = /tmp/apc.XXXXXX
ログイン後にコピー

関連推奨事項: WeChat 公開の

PHP memcache アプリケーションの例プラットフォーム

PHP キャッシュメカニズム

PHP キャッシュテクノロジーの例_PHP チュートリアル

以上がPHP がメモリをキャッシュとして使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート