0

8000 以上の「カテゴリ」の大規模な一定のコレクションを利用する MVC アプリを作成します。カテゴリは非常に単純で、id、name、parentid です。スケーラビリティを念頭に置いてゼロから構築しようとしています。具体的には、大量のトラフィック/IO を期待しています (データ量の心配が少ない)。そのため、大量の IO の計画が複雑になるため、カテゴリをデータベースに保存したくありません。このためのシャーディング戦略を考え出して維持する必要はありません。それはやり過ぎのようです。私が取り組んでいるのは、コレクションをメモリに保存して、すばやくアクセスできるようにすることです。プロジェクト設定/ Web構成に追加しようとしました。すべてが正しく構成されていると思います。次のようになります。

<applicationSettings>
    <MyProject.Properties.Settings>
      <setting name="Setting" serializeAs="Xml">
        <value>
          <ArrayOfCategory xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <Category>
              <Id>1</Id>
              <ParentId>0</ParentId>
              <Name>Art</Name>
            </Category>
            <Category>
              <Id>2</Id>
              <ParentId>0</ParentId>
              <Name>Baby</Name>
            </Category>
            .
            .
            .

しかし、私はエラーが発生しています:

Error   2   An expression is too long or complex to compile...

これが私の現在のアプローチが良くないことを意味すると仮定すると...多くの人が文字列と接続を格納する定数のクラスを作成することを知っていますが、それらは比較すると非常に小さなオブジェクトです。サイトへのリクエストが行われるたびにコレクションを再構築する必要はありません。

要約すると。MVC アプリの存続期間中、このようなコレクションをどのようにメモリに保存しますか? それは可能ですか、それとも間違った木を吠えていますか?

4

1 に答える 1

1

Asp.net Cache の使用を調べることができます。共有データのアプリケーション全体のキャッシュを提供できます

于 2013-11-12T01:57:15.070 に答える