2011-01-29 13 views
0

私はPHPで動作するウェブサイトのメモリキャッシュを探しています。それは高トラフィックのウェブサイトではない、私はちょうどパフォーマンスを向上させるためにデータといくつかのページの一部をキャッシュしたい。データサイズは数バイトから数KBに変わります。私は現在xCacheを使用しており、問題はありません。LRUの有効期限を設定したインメモリキャッシュ

memcachedまたはredisに切り替える方が良いですか?より良い選択肢はありますか?

+0

memcachedを利用したい場合は、配布することができます。たとえば、複数のPHPサーバがある場合は、APCにセッションを保存することはできません。なぜなら、セッションデータはすべてではなく、1つのサーバにのみ格納されるからです)。 – NikiC

答えて

1

明らかな問題がない場合は、今すぐ切り替える必要がありますか? Memcachedまたはredisはおそらくもっと良いでしょうが、今必要がない場合は、残しておく方が良いでしょう。あなたのキャッシュ戦略が健全で、キャッシュ・インターフェースが抽象化されている限り、実際にスケーラブル・キャッシュに切り替える必要があると感じたら、後で追加することができます。

また、PHPのxCacheはopcoderキャッシュです。Memcache & redisはprocキーの値のペアと多かれ少なかれ類似しています。サイトが2台または3台のサーバー上で実行されており、個々のインスタンスを保持するだけで、それらのキャッシュが役立ちます。個人的に

--Sai

+0

私はちょうど次のような高度なソリューションに切り替えるという利点を求めていました。 memcache/redis。アップルとアップルとの比較ではないので、私はオンラインで何かを見つけることができませんでした。 –

+1

明らかにリンゴの比較ではありません:)。 xCacheはinprocキャッシュです。 MemcachedまたはRedisは、頻繁に使用されるシリアル化されたオブジェクトを、ページフラグメントや複雑なdbクエリなどのprocからキャッシュするのに役立ちます。それらはprocから外れているので、サーバーの再起動後も持続することができます。しかし、xCacheと比較すると、速度は遅くなりますがスケーラビリティは向上します。 –

1

私はすでにオペコードキャッシュのためにそれを使用しているため、私は、APCを使用しています。このように私は少ないものを維持しなければならない。私がAPCを使用するもう一つの理由は、次のPHPバージョンに含まれる予定であるため、もっと安定していると感じています。

明らかに:キャッシングシステムを変更するには、それを変更する必要があります;)XCacheで問題がない場合は、そのまま使用してください。

+0

オペコードキャッシングにもxcacheを使用しています。次のPHPバージョンではPHP6を意味しましたか? –

+1

@ジョイス:いいえ、PHP6がキャンセルされました。次のバージョンはおそらくPHP 5.4になります。 – NikiC

+0

PHPはOPのようにLRUキャッシュですか?私はこれがドキュメントに明示的に記載されていることは決して見たことがなく、TTLに関する議論のみです。 – mpdonadio

関連する問題