私は PHP で Web サイトの高性能コーディングを研究していて、次のアイデアが頭に浮かびました。
データベースへのアクセスは大量の CPU 使用率を使用することがわかっているため、そのようなデータをキャッシュして HDD に保存します。しかし、サーバーの RAM に保存して、さらに高速にアクセスできるのではないかと考えていました。
私は PHP で Web サイトの高性能コーディングを研究していて、次のアイデアが頭に浮かびました。
データベースへのアクセスは大量の CPU 使用率を使用することがわかっているため、そのようなデータをキャッシュして HDD に保存します。しかし、サーバーの RAM に保存して、さらに高速にアクセスできるのではないかと考えていました。
memcached をチェックしてみてください:
PHP には、通常、バイトコード キャッシュとしてAPCが付属しています。ローカル キャッシュとしても使用できます。分散/クラスター化された環境で何かが必要な場合は、memcached (および場合によってはbeanstalkd ) が最適です。
あなたのサーバーが少しでも良いなら、それはすでにそうしています。しかしもちろん、あなたのサーバーがあなたのタスク以外にも数千のタスクを処理している場合もあります。つまり、そのサーバーのキャッシュをすべて自分のために持っているわけではありません。
そして、実際にあなた以外に数千人がサービスを受けている場合、その数千人の中に少なくとも 1 人の異常事態が存在する可能性が高くなり、実際にはすべきではないことをサーバーが行っている検出するようにプログラムされておらず、停止するようにプログラムされていませんが、x999の「責任ある」ユーザーのリソースの可用性を犠牲にして、それを最大限に活用するようにプログラムされています.
XCache、eaccelerator、apc、および memcache を使用すると、アイテムを半永続メモリに保存できます (ほとんどの場合、アイテムがいつ期限切れになるかは必ずしもわかりません)。これはデータベースと同じではなく、キーと値のリストに似ています。欠点は、サードパーティのライブラリが必要であるため、環境によっては少し制限される場合があります。
共有メモリを使用して(phpのshmop_関数を介して)同じ効果を得ることができると思います。しかし、私はそれらを使用したことがないか、それらがphpのライブラリに含まれているかどうかを知っているので、誰かが私を叩いたり、この言及を編集したりしてください。