私はあなたの意見、最高の考えに興味があります... あなたが知っていても、いつでもデータベースを照会する方が良いでしょうか?それは静的になります)、またはサーバー(Web)のセッションメモリにデータを保存しますか?SQL - メモリにロードする、またはデータベースを照会する
一方で、メモリに格納するとデータの処理が高速になり、SQLサーバーの負荷が軽減されます。一方、アプリケーションコードやWebサーバー/システムリソースの複雑化を幾分増やす可能性があります。
私はあなたの意見、最高の考えに興味があります... あなたが知っていても、いつでもデータベースを照会する方が良いでしょうか?それは静的になります)、またはサーバー(Web)のセッションメモリにデータを保存しますか?SQL - メモリにロードする、またはデータベースを照会する
一方で、メモリに格納するとデータの処理が高速になり、SQLサーバーの負荷が軽減されます。一方、アプリケーションコードやWebサーバー/システムリソースの複雑化を幾分増やす可能性があります。
答えは、あなたの特定のニーズに(ほとんどの場合と同様に)依存します。あなたのデータベースが帯域幅を持っていてもあなたのWebサーバーがそうでない場合は、SQLでそれを行うべきです。およびその逆。自分の状況を知らずに誰にでも何かを推薦する方法はありません。
ありがとうございます。これは一般的なベストプラクティスの質問ですので、具体的な状況はありません。 – SlowCoder74
スタティック・ディクショナリを使用して、データベースから静的データを格納できます。
これは、各辞書のインスタンスが1つのみで、データベースへの要求数を減らすことができます。
これを実装する方法については、this questionを参照してください。
データが変わるとどうなりますか?キャッシュされたデータをリロードする方法をアプリはどのように知っていますか?テーブルが更新されたかどうかを判断するためのデータベースへのクエリ?私は、検索するテーブルのデータがたくさんある場合はこれが良いと思いますが、データの小さな塊が心配されている場合はそれほど多くはありません。 – SlowCoder74
実際、これは例えば国名のような静的なデータの小さなチャンクでは役に立ちます。 –
静的データの場合は、レイジーロードを考慮してください。静的でないデータの場合は、最終更新日の比較を検討してください。 – user5226582
キャッシュフレームワークを使用しても複雑さは増えません。特に、キャッシュを無効にする必要はありません。 – stuartd