データがすべてのページで使用され、すべてのユーザーで同じである場合、データを$ _SESSION(ユーザーごとにそのデータの異なるコピーを持つことを意味します)にキャッシュしませんが、次のような別のメカニズムを使用します:
- ファイル
- メモリ内、たとえばAPC(サーバーが1台の場合)
- メモリ内、たとえばmemcachedを使用(複数のサーバーがある場合)
- データに長い計算や複数のDBクエリを取得する必要がある場合は、データベースにキャッシュすることも可能です(フェッチバックするクエリが1つだけで、計算が少なくなることを意味します)
各ユーザーのデータが同じでない場合(名前、生年月日などをキャッシュしているため、状況に応じてそうなります) :
- 必要なものだけをキャッシュするようにします
- キャッシュするデータが少ない場合は、セッションに入れることで問題ありません
- 本当に多くのユーザーがいる場合は、おそらく他のスケーラビリティの問題が発生し、とにかくmemcachedのようなものを使用するようになるでしょう。つまり、他のキャッシュ方法があります;-)
補足として:同じクエリを何度も実行する場合は、DBサーバーがそれ自体をキャッシュする必要があります(MySQLの場合、「クエリキャッシュ ");だから、あなたが思うほど悪くはないだろう、と私は思う-それほど最適化されていなくても^^