0

多次元データを含むpostgresqlデータベースがあります。私がしたことは、すべてのデータベース行をツリー形式にソートするデータ構造を作成したことです。現在、データベースは大きいので、ブラウザーからリクエストが来るたびにツリーを生成したくありません。私がやりたいのは、特定の期間に1回ツリーを構築し、それをサーバー上のメモリに保持することです。

ちなみにツリーは読み取り専用です。したがって、リクエストがツリーに入るたびに、新しく生成する必要はありません。すでにそこにあります。

どうすればこれを実現できますか。私は専門のプログラマーではなく、初心者であり、Webプログラミングに間違いなく慣れていません。したがって、これらの概念のいくつかは私にとって新しいものです。

しかし、ここに含まれる概念に関して正しい方向に私を向けることができれば、私は残りをグーグルで検索することができます。

または、実際のリンクや例があれば、それは素晴らしいことです。

ありがとう

4

1 に答える 1

1

この問題に取り組むにはいくつかの方法があります。変数が必要なアプリケーションにどれだけ近いかによって異なります。可能な限り最速で使用するために、アプリケーションの「最上位」に配置することを本当に検討している場合は、グローバル変数「$tree」を使用してアプリケーションフローに接続することを検討できます。他のオプションにはmemcachedが含まれる場合がありますが、これはまだアプリケーションにかなり近いものです。Redisは、クエリを実行するNoSQLデータベースであるため、アプリケーションのインスタンス間で共有できるインメモリデータベースに適したオプションです。ただし、アプリケーションにそれほど近いわけではありません。

一般的に、これらはあなたの主な選択肢です。リクエストに耐えるアプリケーション内変数。変数がリクエストに耐え、クエリメカニズムを提供するのに役立つアプリケーションフレームワーク。または、複数のインスタンスから迅速に保存およびクエリできるインメモリデータベース。それぞれが実行可能なオプションですが、まっすぐなグローバル変数を使用すると、多くの「コミュニティ」の欠陥が生じると確信しています(このようなプラクティスは、スレッドセーフの欠如やその他の懸念のために汚れていると見なされます)。

于 2012-05-01T03:51:34.750 に答える