eAccelerator は本当に優れたものです (その前身は track-mmcache です)。
簡単に言うと、PHP (PHP5 をサポート) で動作し、共有メモリまたはディスク ファイルを介してデータを交換するキャッシュ システムです。
PHP ソース コードを「エンコード」し (不適切に「暗号化」と呼ばれます)、PHP 実行の中間コードをキャッシュして高速化するために広く使用されています。 eA のインストールと使用方法については、詳細な記事がたくさんあります。今回お勧めしたいのは、次のような API セットを提供する、非常に便利なキャッシュです。安定したネイティブ キャッシュの実装方法ですが、現在、設計のこの部分は共有メモリのみをサポートしているようです。そのため、Unix 系 OS でのみ使用でき、Windows はそれほど幸運ではありません。
1. eaccelerator_put($key, $value, $ttl=0)
$key をキー名としてキャッシュに $value を格納します (オブジェクトタイプは php4 ではサポートされていますが、zend2 ではサポートされていないようです)ソース コード)、$ttl このキャッシュのライフ サイクル (秒単位)。このパラメータを省略するか 0 を指定すると、サーバーが再起動されてクリアされるまで時間制限がないことを意味します。
2. eaccelerator_get($key)
$key に基づいて、キャッシュから eaccelerator_put() に格納されている対応するデータを返します。キャッシュが期限切れであるか、存在しない場合、戻り値は NULL です。 )
$key に基づいてキャッシュを削除します
4. eaccelerator_gc()
期限切れのキーをすべて削除してクリーンアップします
5. eaccelerator_lock($key)
マルチプロセスおよびマルチプロセス中にデータを確保するために、ロック操作を $key に追加します-スレッド操作の同期。 eaccelerator_unlock($key) を呼び出してロックを解放するか、リクエストの終了時にプログラムが自動的にロックを解放するのを待つ必要があります。
例:
eaccelerator_lock("count");
?> eaccelerator_unlock($key); $ キーでロックを解放します
7. eaccelerator_cache_output($key, $eval_code, $ttl=0)
$eval_code コードの出力を $ttl 秒間キャッシュします ($ttl パラメーターは eaccelerator_put と同じです)
例:
8. eaccelerator_cache_result($key, $eval_code, $ttl=0); $eval_code コードの実行結果 $ttl 秒 ($ttl パラメーターは eaccelerator_put と同じです)、cache_output と同様です
例:
9. eaccelerator_cache_page( $key, $ttl=0)
現在のページ全体を $ttl 秒間キャッシュします。
例:
eaccelerator_cache_page($_SERVER['PHP_SELF'].'?GET='.serialize($_GET),30);
echo time();
?&g t ;
10. eaccelerator_rm_page($key)
eaccelerator_cache_page() によって実行されるキャッシュを削除します。パラメータも $key です
______________________________________________________
(その能力を確認するための簡単な例ですが、cli モードでは有効ではない可能性があることに注意してください。 )
/n" } function func() { echo '、世界!'; } function now( $t) { echo date('Y-m-d H:i:s', $t); }}$tt = eaccelerator_get("test_tt");if (!$tt){ $tt = new test_cache; ("test_tt" , $tt); echo "キャッシュされていません!
/n";}else { echo "cached
/n";}echo $tt->pro; ();$ tt->now(time() + 86400);?>>