2013-06-28 5 views
28

PHP 5.5にはデフォルトでzend opcacheが含まれています。これは、基本的にほとんど誰もAPCを使用しないことを意味します。php 5.5のapcユーザーデータキャッシュの代わりに使用するものは?

しかし、APCのユーザーデータキャッシュ部分(apc_store & apc_fetch &に似ています)の代わりに何を使用しますか?私は本当にAPCのユーザデータ・キャッシュを使用したい

つのユースケースは、静的な資産の「バージョン」(ジャバスクリプト、CSS ...)です。私は、静的なファイルを参照するたびに、私はURLにそのコンテンツのハッシュを追加します(例えば<スクリプトSRC =/script.js >意志は<スクリプトSRC =/script.js?V =ハッシュ>になった)そのブラウザ、常に最新バージョンを使用していますので、永続的にキャッシュすることができます。

私は静的ファイルのハッシュを保存するためのRedisやmemcacheのを使用して想像することができますが、単にファイルの内容のハッシュを取得するには、ネットワークまたはソケットを介して別のプロセスを依頼する愚かなようです。 APCユーザーデータキャッシュ(共有メモリにあり、アクセスするのはPHP変数にアクセスするのと同じくらい速い)は、そのようなデータに使うのが正しいと思われます。

質問があります:APCの代わりに小さなビットのデータをキャッシュするためにphp 5.5で使用するものは何ですか?

+8

APCのユーザーキャッシュ部分であるAPCuを使用します。 – NikiC

答えて

28

APCユーザ・データ・ストレージをPECL APCuとして別々にパッケージされてPHP 5.5から出発。

all user cache functionsapc_store()など)を使用できます。 extension_loaded('apc')の場合はtrueも返されます。つまり、APCに依存するすべてのライブラリはPHP 5.4と同様に動作します。

+0

yum install php5-pecl-apcu - >パッケージがありません – Flion

+1

@Flyあなたが正しいです。ありがとう!私はFedora/Redhatのパッケージ名を修正しました... –

+1

ありがとうございます!私はopcacheを使いましたが、私が作業しているリポジトリにはapcが必要です。人生の節約がここにあります。 –

6

私は最近、私はMemcacheのとRedisのを見て5.5ベータ2

をPHP 5.3をPHPからアップグレードした後、この質問に対処。あなたが尋ねる人によって、両者のパフォーマンスはほぼ同じです。レディスは少し速いと主張する者もいます。しかし、RedisにはMemcaheよりも多くの機能があるので、私はRedisに行くことにしました。

PHPクライアントの場合、Phredis over Predisを選択しました。 PhredisはCの拡張機能ですが、Predisは純粋なPHP実装です。したがって、Phpredisは一般により高速です。

私は、主にRedisを使用してシリアル化されたオブジェクトをキャッシュし、取得しています。私は現在、PHP 5.3でAPCを開発中のプロジェクトを開始しました。私はPHP 5.5とRedisでプロジェクトを開発し続けています。ベンチマークの統計はありませんが、アプリがより速く感じると言えます。これは、APCユーザーキャッシュ対Redisとは対照的に、php 5.5のパフォーマンスが向上したためです。いずれにせよ、私は私の選択に満足しています。

私は役立つことを願っています。

-1

:-)幸運と幸せなハッキングはlighttpdのの著者から、XCacheとのオペコードキャッシャを見てみましょう。これは、PHP 5.5とユーザーデータキャッシュの両方をサポートしています。http://xcache.lighttpd.net/wiki/XcacheApi

私は自己(まだAPCとPHP 5.4を使用しています)を試しませんでした。

+0

XCacheの提案に何が間違っていますか? – DamirR

0

何も言いません。あなたは正しい答えをすでに持っています。

リンク5.3からPHPのビルドにAPCuをダウンロードするか、より高い: download APCu different versions

私はPHP 5.5と5.6は、Windows上でXAMPP上APCuをダウンロードしてインストールする方法にチュートリアルへのリンクを提供することができますguesy

インストールチュートリアル:instalatioiin instrucions(最新バージョンは、ファイルリストの一番下にする必要があります - このいずれかを使用)

はまた、あなたが64または84のようないくつかのオプションから選択するには、2つを持つことになりますことを心に留めてバージョンと同様にNTS又はTSVC9またはVC11(それはあなたのケースでは異なる場合があります)と(私のXAMPPのためのPHP 5.6になる私の場合)ofcourseのcorect PHPのバージョン

例:

あなたが最初)は、phpinfo(実行して、それらのパラメータをチェックする必要があり、右選択する場合:

Zendの拡張がでアーキテクチャ

を構築します私の場合は:

[Zend Extension Build:] API220131226,TS,VC11 

[Architecture:] x86 
php_apcu-4.0:私の場合、私はをダウンロードするには、ファイル名にこれらのパラメータ 5.6、TS、VC11、86

ファイル名を が含まれているwchich ACLUを選択しなければならないことを意味

。 7-5.6-ts-vc11-x86.zip

あなたのために明確なことを望みます。


異なるPHPの一部のaditional説明を構築:NTS対TS

差: TSを構築することが可能なマルチスレッドを指します。 NTSはシングルスレッドのみのビルドを指します。 TSバイナリのユースケースには、マルチスレッド化されたSAPIおよびPHPとの相互作用が含まれ、モジュールとしてWebサーバーにロードされます。 NTSバイナリでは、マルチスレッド化を使用しないFastCGIプロトコル(CLIなど)を利用して、Webサーバーとのやりとりが普及しています。PHPの より最近のバージョンでは、(それぞれのVisual Studio 2008、2012または2015のコンパイラ)VC9、VC11またはVC14で構築されており、パフォーマンスと安定性の向上が含まれています。vc14対VC11対

差VC9。 VC9は、Visual Studio 2008 SP1のx86またはx64がVC11は、Visual Studio 2012のx86またはx64用のVisual C++再頒布が

  • をインストールしておく必要が構築さ
  • をインストール用のVisual C++再頒布を持ってする必要が構築する

    • x64の風のためのPHPのビルド:VC14は、Visual Studio 2015のx86またはx64用のVisual C++再頒布が

    違い86 64対がインストールされている必要が構築しますowsは実験的なものであり、64ビット整数または大規模ファイルのサポートはまだ提供されていません。

  • 関連する問題