eAccelerator は本当に優れたものです (その前身は track-mmcache です)。 これは、PHP (PHP5 をサポート) で動作し、共有メモリまたはディスク ファイルを介してデータを交換するキャッシュ システムです。 これは、PHP ソース コードを「エンコード」し (あまり適切ではありませんが「暗号化」と呼ばれます)、PHP 実行の中間コードをキャッシュして高速化するために広く使用されています。 eA のインストールと使用方法については、詳細な記事が多数あります。今回お勧めしたいのは、プログラムの設計とキャッシュを支援するために eA を使用することです。 これは非常に便利で安定したネイティブ キャッシュの実装ですが、現時点では、この部分の設計は共有メモリのみをサポートしているようです。そのため、Unix 風の OS でのみ使用できるのはあまり幸運ではありません。 1. eaccelerator_put($key, $value, $ttl=0) $key をキー名としてキャッシュに $value を保存します (オブジェクトタイプは php4 ではサポートされていますが、ソースコードから見ると zend2 ではサポートされていないようです)。 $ttl はこのキャッシュのライフサイクル (秒単位) です。このパラメータを省略するか、0 を指定します。 サーバが再起動されてクリアされるまで、時間制限がないことを示します。 2.eaccelerator_get($key) $key に従って、対応する eaccelerator_put() に格納されているデータをキャッシュから返します。キャッシュが期限切れであるか、キャッシュが存在しない場合、戻り値は NULL です。 3. eaccelerator_rm($key) $key に基づいてキャッシュを削除します 4. eaccelerator_gc() 期限切れのキーをすべて削除してクリアします 5. eaccelerator_lock($key) $key にロック操作を追加して、マルチプロセスおよびマルチスレッド操作中のデータ同期を確保します。 eaccelerator_unlock($key) を呼び出してこのロックを解放するか、プログラム要求によってこのロックが自動的に解放されるのを待つ必要があります。 例えば: ? & Lt;? Php Eaccelerator_lock ("カウント"); Eaccelerator_get ("カウント");
$keyに基づいてロックを解放します
7. eaccelerator_cache_output($key, $eval_code, $ttl=0)
$eval_code コードの出力を $ttl 秒間キャッシュします ($ttl パラメーターは eacclerator_put と同じです)。
例えば:
?> ;
class test_cache { } $tt = eaccelerator_get("test_tt") ; if (!$tt) {
$tt = new test_cache; eaccelerator_put("test_tt", $tt); echo "キャッシュされていません!
n" else {
|