sql >> データベース >  >> RDS >> Mysql

PHP SESSIONにデータをキャッシュしますか、それとも毎回dbからクエリを実行しますか?

    データがすべてのページで使用され、すべてのユーザーで同じである場合、データを$ _SESSION(ユーザーごとにそのデータの異なるコピーを持つことを意味します)にキャッシュしませんが、次のような別のメカニズムを使用します:

    • ファイル
    • メモリ内、たとえばAPC(サーバーが1台の場合)
    • メモリ内、たとえばmemcachedを使用(複数のサーバーがある場合)
    • データに長い計算や複数のDBクエリを取得する必要がある場合は、データベースにキャッシュすることも可能です(フェッチバックするクエリが1つだけで、計算が少なくなることを意味します)


    各ユーザーのデータが同じでない場合(名前、生年月日などをキャッシュしているため、状況に応じてそうなります)

    • 必要なものだけをキャッシュするようにします
    • キャッシュするデータが少ない場合は、セッションに入れることで問題ありません
    • 本当に多くのユーザーがいる場合は、おそらく他のスケーラビリティの問題が発生し、とにかくmemcachedのようなものを使用するようになるでしょう。つまり、他のキャッシュ方法があります;-)

    補足として:同じクエリを何度も実行する場合は、DBサーバーがそれ自体をキャッシュする必要があります(MySQLの場合、「クエリキャッシュ ");だから、あなたが思うほど悪くはないだろう、と私は思う-それほど最適化されていなくても^^



    1. コマンドライン引数を使用してPostgreSQL.sqlファイルを実行します

    2. CodeIgniterでMySQLデータベースをバックアップする

    3. フラットファイルでMySQLを使用するのはなぜですか?

    4. ソートされていますか? T-SQLウィンドウの順序に関するヒント