2011-01-22 1 views
1

ravendbベースのセットアップに関連するアーキテクチャに関する質問があります。Memcached/wcf/web/ravendbのキャッシュアーキテクチャ

私は、次のしている:

ravendb - > WCFサービス - >(ウェブ/ iphone/Androidは)

ウェブ/ iphone/Androidのレベルが実際にしている(現時点では - これが成長している)の接続7 wcfサービスへ

7サービスが同じravendbと話している瞬間、これは将来のリファクタリング・ブリッツで分割される可能性が高いため、同じインスタンス上にある必要はありません。まったく - モデルのクロスオーバー。

私の質問はこれです:私はmemcachedのを使用してで探しています

- 私は/私はmemcachedのを使用する必要がありますすることができますどのポイント(私は少し経験この設定を持っている)で?

ravendbとwcfの間? wcfと(web/iphone/android)の間の ?

私は古いデータの問題に遭遇する可能性がありますか?これは世話をしているのですか、物事を単純化するのですか?

答えて

4

多くの人があなたに伝えます:早すぎる最適化はすべての悪の根源です(そして、私は思うところでDonald Knuthを引用しています)。何かをする前にパフォーマンスの問題があるのを待ってください(システムが壊れてしまうのを待つ必要はありません)。

これは、memcachedキャッシングされたデータを無効にする前にそのデータを使用することを期待している場合には、そのようなキャッシングの種類があります(改善要因は、操作コストやデータのアクセス頻度などの多くの要因によって変化します)。

あなたの「どこで」の質問は本当にリソースを最も節約する場所に依存し、実際にはアプリケーション固有であり、ここでは答えられません。

+0

けれども - 1は、データ上で実行するためには時間がかかるクエリがある場合があるのですそれはほとんど変わりません(一日一回トップ) - これは主要な候補です:) – iwayneo

0

追加のポインタとして、RavenDB RESTインターフェイスはETagを使用してHTTPベースのカヒング機能をサポートします。あなたのHTTPクライアントがこれらのメカニズムでうまくいくならば、あなたはすぐに素晴らしいキャッシングをするでしょう。私は、これはWCFスタックを果たしているかを確認していない

、それ自体が私は必要な思考モードに私の脳を蹴ったこと

関連する問題