2009-06-29 7 views
1

私が取り組んでいるWebアプリケーションでは、さまざまなWebリソース(HTML、XML、RSSなど)を頻繁に解析する必要があります。一旦ダウンロードされると、ネットワーク負荷を最小限に抑えるためにこれらのリソースをキャッシュする必要があります。このアプリは非常に簡単なキャッシュポリシーを必要とします。アクセス時間からX分以上経過した時点でキャッシュされたリソースを再ダウンロードするだけです。ウェブアプリケーションの適度な量のデータをキャッシュする - DBまたはフラットファイル?

万一I:

  1. ストアの両方のアクセス時間(午前10時50分午前例えば6/29/09)とデータベース内のリソースそのもの。
  2. アクセス時間と一意の識別子をデータベースに格納します。一意の識別子は、ローカルディスクに格納されているリソースのファイル名です。
  3. 別のアプローチまたはサードパーティのソフトウェアソリューションを使用します。

本質的に、この質問は「中程度の量のデータ(データベースまたはフラットファイル)を格納するのに適していますか?

ありがとうございました! :)

注:このアプリケーションはVPSで動作しているため、データベース/フラットファイルのサイズ制限は適用されません。

+0

他の環境からレッスンを常に学ぶことができるため、言語固有のレスポンスと言語に依存しないレスポンスを歓迎します。 (FWIW、アプリケーションはLAMPスタック上でルートアクセスで動作しています) – rinogo

答えて

0

すべての提案された解決策は合理的です。しかし、私の特別なニーズのために、私はフラットファイルを使いました。奇妙なことに、私は他の答えのいくつかで言及されていない理由でそうしました。フラットファイルのバックアップと削除が簡単で、DBとフラットファイルの両方のソリューションにより、キャッシュされたデータが失効しているかどうかを簡単に確認できます。私はフラットファイルを最重要視していました。なぜなら、中規模のワンボックスVPS LAMPアーキテクチャでは、サードパーティのキャッシュやDBベースのソリューションよりも高速になると思います。

あなたの考えに感謝します。 :)

1

このdocプラットフォームに依存します、あなたは.NET

を使用した場合の答えはあなたが時間や依存関係の有効期限を設定することができますASP.NET

で、このために理想的に適し、Cacheオブジェクトを使用し、3である、 キャッシュオブジェクト

https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-5034946.html

+0

これは言語に依存しない質問です。 – jimyi

+0

@jimyi - だからあなたは投票した? asp.netが使用された場合、私は答えを与える、技術は指定されていない選択する必要がありますか? – Stuart

+0

スチュアート、私はあなたの回答に投票したので、あなたのコメントはゼロに戻っています。あなたの助けをありがとう - 他の考えはいつも感謝しています! :) – rinogo

1

をあなたの質問に答えることを説明します。「?データの適度な量を格納するための優れている - データベースやフラットファイルを」

答えは(私の意見では)フラットファイルです。フラットファイルはバックアップが容易で、簡単に削除できます。

しかし、この質問にはカプセル化されていない追加情報があります。主に、この保存されたデータにアクセスしてリソースが失効しているかどうかを判断する必要があります。

この必要性を考えると、データベースに格納する方が意味があります。フラットファイルは、リレーショナルDBと比較して、ランダムアクセスや検索には適していません。

+0

RDBMSも並行読み取り/書き込みをよりうまく処理します。 – BaroqueBobcat

1

どちらもありません。

memcachedをご覧になり、サーバー/クライアントプラットフォームで動作するか確認してください。キャッシュするデータに必要なRAMを確保できるならば、これはセットアップが簡単で、ファイルシステム/ rdbmsベースのキャッシュよりも優れたパフォーマンスを発揮します。

+0

こんにちはラース、 偉大な答え。残念ながら、私の現在の状況ではmemcachedは実際には機能しません。 RAMはVPS上の限られたリソースです - 私は適度なサイズのオブジェクトを格納しているので、RAMは限られています。 :/(私はまだあなたの答えを投票しましたが、助けてくれてありがとう) – rinogo

+0

Tugela Cache(http://meta.wikimedia.org/wiki/Tugela_Cache)は良い方法のようですが、Abandonwareもはや積極的に開発されておらず、バージョン1.2のmemcachedからフォークされています)。 – rinogo

関連する問題