質問: phpで値を保持する方法 phpで、リクエストをまたいで値を保持する方法を教えてください。というかサーバー起動時に1回処理をし、その情報を使い続ける方法といった方が適切かもしれません。「リクエストをまたいで」といってしまうと、反射的に「セッションに保存」といいたくなると思いますが、そういう話ではありません。 画面上に検索条件でselectリストを表示します。この情報を今は、画面表示のたびに毎回dbにアクセスしデータを取得しています。 しかしサーバーが起動している間程度の期間ではめったに変更することはない値なので、リクエストのたびにdbにとりに行くのがあまりにも無駄なので、これをやめたいと思っています。かといって年に何回かは変更があってもおかしくない値なので、そのたびにプログラムを変更するのではなく、あくまでもdbのデータの変更だけで済ませたいと思っています。 つまり、リクエストのたびにdbにとりに行くのではなく、phpのプログラムファイルにハードコーディングするのでもなく、webサーバーが起動したときに1回だけdbから読み込み、変数に保持しておき何度も使いまわしたいと思っています。 で、ためしにclassのstatic変数に値を設定してみたのですが、リクエストのたびに値が初期化されてしまいました。$globalsに値を設定してもリクエストのたびに値が初期化されてしまいました。 javaなどの言語では、当たり前に行う処理ですがphpで実現する方法が分かりません。 phpで、リクエストをまたいで値を保持する方法を教えてください。 もしかするとphpでは、値を保持することはできないのでしょうか? もしそうだとすると、phpでは同じ値をdbから何度も取得するケースではどのように対処しているのでしょうか?(dbのキャッシュ機能頼み?そもそもphpは小規模しか扱わないから気にしない?) この点について教えてください。 よろしくお願いします。
回答: メモリキャッシュを使う ファイルにキャッシュして保存しておく (フォーマットはxmlでもjsonでも好きな方式を利用すればいい) 非rdbに保存しておく >そもそもphpは小規模しか扱わないから気にしない? いや普通にそこそこの大規模案件にも使う。