PHP5.5にはデフォルトでzendopcacheが含まれています。これは、基本的に、APCを使用する人がほとんどいないことを意味します。
しかし、APCのユーザーデータキャッシュ部分(apc_store&apc_fetchなど)の代わりに何を使用するのでしょうか?
私が本当にAPCユーザーデータキャッシュを使用したい1つのユースケースは、静的アセット(javascript、css ..)の「バージョン」です。静的ファイルを参照するときはいつでも、そのコンテンツのハッシュをURLに追加します(たとえば、<script src = /script.js>は<scriptsrc =/script.js?v = hash>になります)。これにより、ブラウザーは常に現在のバージョンを使用します。そしてそれを永久にキャッシュすることができます。
Redisまたはmemcacheを使用して静的ファイルのハッシュを保存することを想像できますが、ファイルコンテンツのハッシュを取得するためだけに、ネットワークまたはソケットを介して別のプロセスに要求するのはばかげているようです。 APCユーザーデータキャッシュ(共有メモリ内にあり、それにアクセスするのはphp変数にアクセスするのとほぼ同じくらい高速です)は、そのようなデータに使用するのにちょうどいいもののようです。
したがって、問題は、APCの代わりに小さなデータをキャッシュするためにphp5.5で何を使用するかということです。
PHP 5.5から、APCユーザーデータストレージは PECL APC として個別にパッケージ化されます。
brew install php55-apcu
_)apt-get install php5-apcu
_)yum install php-pecl-apcu
_)と呼ばれますこれにより、 apc_store() などの すべてのユーザーキャッシュ関数 を使用できます。また、extension_loaded('apc')
に対してtrue
を返します。これは、APCに依存するすべてのライブラリがPHP 5.4と同様に機能することを意味します。
私は最近、php5.3からphp5.5 beta 2にアップグレードした後、この質問に対処しました。
MemcacheとRedisを見ました。誰に尋ねるかにもよりますが、両者のパフォーマンスはほぼ同じです。 Redisの方がわずかに速いと主張する人もいます。ただし、RedisにはMemcaheよりも多くの機能があるため、Redisを使用することにしました。
PHPクライアントの場合、PredisではなくPhpredisを選択しました。PhpredisはC拡張機能ですが、Predisは純粋なPHP実装です。したがって、Phpredisの方が一般的に高速です。
私は主にRedisを使用して、シリアル化されたオブジェクトをキャッシュおよび取得しています。現在開発中のプロジェクトをPHP 5.3でAPCで開始しました。php5.5とRedisでプロジェクトを開発し続けています。ベンチマーク統計はありませんがわかります。これは、APCユーザーキャッシュとRedisとではなく、php 5.5のパフォーマンスが向上したためと思われます。いずれにしても、私は自分の選択に満足しています。
それがお役に立てば幸いです。幸運と幸せなハッキング:-)
これ以上言うことはありません。あなたはすでに正しい答えを得ました。 php5.5および5.6のWindowsのXAMPPにAPCuをダウンロードしてインストールする方法のチュートリアルへのリンクを提供できると思います。
リンクは5.3以降からphpビルド用のAPCuをダウンロードします:APCuの異なるバージョンをダウンロードします
インストールチュートリアル:インストール手順 (最新バージョンはファイルリストの一番下にあるはずです-これを使用してください)
また、64または84バージョンやntsなどのいくつかのオプションから2つ選択できることにも注意してください。またはtsandvc9またはvc11(あなたの場合は異なる場合があります)そしてもちろん正しいPHPバージョン(私の場合はPHP 5.6)。
例:
正しく選択したい場合は、最初にphpinfo()を実行して、これらのパラメーターを確認する必要があります。
Zend Extension BuildおよびArchitecture
私の場合、それは次のようになります。
[Zend Extension Build:] API220131226,TS,VC11
[Architecture:] x86
つまり、私の場合、ファイル名にこれらのパラメータ5.6、TS、VC11、86を含むACLuwchichを選択する必要があります。
ダウンロードするファイル名:php_apcu-4.0.7-5.6-ts-vc11-x86.Zip
それがあなたのために物事をクリアすることを願っています。
さまざまなPHPビルド:に関するいくつかの追加の説明
tsとntsの違い:TSは、マルチスレッド対応のビルドを指します。 NTSは、シングルスレッドのみのビルドを指します。 TSバイナリのユースケースには、マルチスレッドSAPIとの相互作用が含まれ、PHPモジュールとしてWebサーバーにロードされます。NTSバイナリの場合、広く使用されているのは、FastCGIプロトコルを介したWebサーバーとの相互作用です。マルチスレッドなし(ただし、CLIなど)。
違いvc9 vs vc11 vs vc14:PHPの最新バージョンはVC9、VC11、またはVC14(Visual Studioそれぞれ2008、2012、または2015コンパイラ)であり、パフォーマンスと安定性の向上が含まれています。
違い86と64:Windows用のPHPのx64ビルドは実験的であると見なされるべきであり、まだ64を提供していません-ビット整数またはラージファイルのサポート。