問題タブ [appfabric-cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
appfabric-cache - web.config にサーバーをリストせずに AppFabric キャッシュを構成する
Web サイトで AppFabric キャッシュを適切に構成する方法を理解しようとしています。SQL Server をキャッシュ マネージャーとして使用する予定です。私が理解できる限り、SQL にはクラスター内のキャッシュ ホストのリストが含まれます。
ただし、実行時は
私は得る
サーバー コレクションを空にすることはできません。
web.config にサーバーを追加していないので、これは当然のことだと思います。
ただし、各 Web サーバーでサーバー リストを維持するのではなく、SQL Server で一元的に管理したいと考えています。SQL Server を指す方法があると思いますが、これを行う方法に関する情報が見つかりません。
(XML 構成オプションも試してみましたが、そのファイルを見つけることさえできませんでした。Power Shell でサービスの正常性を確認しました。)
サーバー キャッシュ ホスト リストを一元化するにはどうすればよいですか?
appfabric - Appfabric ローカル キャッシュ通知
Appfabric のローカル キャッシュの無効化に関する私の理解が正しいかどうかを確認したい
ローカル キャッシュに通知ベースの無効化が設定されているとします。デフォルトのポーリング間隔は 5 分です。
ポーリングはどの方法で行われますか? ローカル キャッシュが分散キャッシュをポーリングして通知をチェックしていると思いますが、これは正しいですか?
これは、分散キャッシュに変更が発生した場合、最後の同期がいつ行われたかによって、ローカル キャッシュ内のアイテムが無効化されるまでに最大 5 分かかる可能性があるということですか?
powershellまたは別のメカニズムを介して、最後に同期された時間を確認する方法はありますか?
appfabric - AppFabric で通知ベースの無効化を使用する方法
これから構築するアプリケーションに AppFabric キャッシュを使用します。このテクノロジーを使用して、2 つの異なるキャッシュを維持します。したがって、いずれかのキャッシュで何かが発生した場合、適切な通信が行われるはずです。
項目または領域の追加、削除、または置換を通知する通知ベースのキャッシュについて読みました。私も同じことを試しましたが、問題なく動作しています。
私が探しているのは、キャッシュの無効化を通知する方法です。? 無効化キャッシュには2つの方法があることをMSDNから読んでください-1.タイムアウトベースと2.通知ベース。同じコードをいくつか探しています。
誰でもこれについて私を助けることができますか?
caching - キューとしての App Fabric キャッシュ
複数のテーブルに挿入する SQL Server 2008 r2 ストアド プロシージャを大量に呼び出す .net WCF サービス (IIS 7.5 でホスト) があります。この WCF サービスのクライアントは 24 時間年中無休で使用されますが、夜間は処理される要求の量が少なくなります。ほとんどの場合、これは問題なく機能しますが、月に一度、同じテーブルに大量の挿入を行う SSIS ジョブを実行する必要があります。SSIS ジョブが実行されると (完了するまでに約 4 時間かかります)、WCF サービスに問題が発生し、タイムアウトが発生します。
私の最初の考えは、後でメインテーブルにマージされる一時テーブルに挿入が行われるように、ストアドプロシージャを修正することでした。ただし、SQL サーバーを担当する DBA は、SSIS ジョブが実行されている間、サーバーが完全に使い果たされていることを教えてくれました。
したがって、SQL Server にヒットしない何らかの形式のキャッシュ/キューを考え出す必要があります。このキャッシュは、回復力とスケーラビリティも必要です。App Fabric キャッシュはこれに最適なツールですか? API をざっと見たところ、キューのようにそれを利用する明確な方法がわかりませんでした。キャッシュから取得するメソッドにはキーが必要なようです。サービスを使用して、キャッシュからプルし、永続的な SQL ストアに書き込みます (SSIS ジョブが完了したら)。
過去に、MSMQ を使用して同様の問題を解決しましたが、これに関するすべてのドキュメントは非常に古いように思われるため、最近では App Fabric Cache が推奨される選択肢でしょうか?
ありがとう、
ロブ。
iis-7 - AppFabric 1.1 クライアントはいくつの DataCacheServerEndpoint に接続する必要がありますか?
AppFabric 1.1 クライアントのドキュメントでは、DataCachServer エンドポイントのリストを DataCacheFactoryConfiguration に割り当てる方法について説明しています。ほとんどの例は、1 つまたは 2 つの異なるキャッシュ サーバーで構成されるリストを示しています。クラスタがn台のサーバーで構成されている場合、クライアントは各サーバーを登録する必要がありますか? サーバーが登録されている順序は重要ですか? たとえば、Web 層に 50 台のサーバーがあり、キャッシュ層に 5 台のサーバーがある場合、50 台の Web サーバーのそれぞれが 5 つのキャッシュ サーバーすべてを登録しますか? サンプルコードは次のとおりです。
各 Web サーバーは同じように登録できますか? また、キャッシュ層全体で負荷が分散されますか? 登録済みのサーバーが使用できなくなった場合、次のサーバーが順番に試行されますか、それともランダム化されますか? サポート ドキュメントへのリンクが役立ちます。
負荷分散に関連して、Jason Rothは次のように書いています [利用可能な他のドキュメントはありますか]?
アプリ ファブリック クライアントはスマート クライアントであり、データを保持しているサーバーに直接接続できます。アプリケーションは負荷分散について心配する必要はありません。これは、ルーティング クライアントを使用して行われます。
entity-framework - クリーンな IQueryable を取得するには?
Entity Framework と appFabric のキャッシュに問題があります。クエリ ステートメントのキーを生成する必要がありますが、Where 句で、パラメーター値が @p_ linq _0 と等しくなります。真の値に置き換えるにはどうすればよいですか?
ありがとう
appfabric - DataCache の Add メソッドの 'Timeout' プロパティは本質的にスライドしますか
私は分散キャッシュ用に appfabric を実装しています。オーバーロードの 1 つで提供されるタイムアウト プロパティがスライドしているかどうかを知る必要があります。つまり、すべての使用でタイムアウトが増加し、可能であれば設定をスライドから絶対に変更する方法
session - AppFabric キャッシュに同じキーを持つ複数のキャッシュ アイテムがあるのはなぜですか?
2 つのサーバーに Web サイト コードがあり、それらの間で共有キャッシュが必要なため、Microsoft AppFabric を使用しています。キャッシュには 1 つのアイテムだけが必要です。サイトの訪問者ごとに 1 つのアイテムではなく、合計で 1 つのアイテムだけです。
これを達成するために使用しているコードを以下に示しますが、思い通りに動作していません。問題は、すべて同じキーを持っているにもかかわらず、キャッシュに多くのアイテムがあることだと思います。しかし、それは別のことが起こっている可能性があります。詳細については、コードのコメントを参照してください。
でWeb.config
:
でGlobal.asax.cs
:
私が行っていることとその理由について詳しく知りたい場合は、ここで説明されているように、キャッシュ タイムアウトを使用して Windows サービスをシミュレートしようとしています。しかし、これを2つのサーバーで動作させようとしています。
c# - クエリ結果をキャッシュする SQL Server のオーバーヘッドを削減する
いくつかのファイルに基づいて重い処理を行うソフトウェアがあります。その過程で SQL Server のいくつかのテーブルにクエリを実行する必要があり、これにより DB とアプリケーションのパフォーマンスが低下しています。(他のアプリケーションは同じテーブルを使用します)。
クエリとコードを最適化した後、結果は改善されましたが、十分ではありませんでした。調査の結果、いくつかのクエリ結果をキャッシュするという解決策にたどり着きました。私の考えは、処理中のファイルが必要とする 1 つの特定のテーブル (オーバーヘッドとして識別される) 行をキャッシュすることです。
私は AppCache Fabric を使用することを考えていました (私は MS スタックを使用しています)、いくつかのテストを行い、小さなオブジェクトに大量のメモリを使用しました (appcache サービスは、オブジェクトなしで最大 350MB の RAM を使用しています)。しかし、これらの結果テーブルでいくつかのクエリを作成する必要があります ( lastname、ssn、birthdateなどの検索など)。
2 番目のオプションは、キャッシュ ストアとしての MongoDb です。私はこれについて調査しましたが、私が読んだほとんどの人は memcached または Redis の使用を推奨していますが、私は Windows サーバーを使用しており、公式にはサポートされていません。
この場合、キャッシュストアとしてmongoを使用するのは良いアプローチですか? または、AppFabric キャッシング + タグ検索の方が優れていますか?
appfabric-cache - Windows Server AppFabric 1.1 - ホストからリモート レジストリ キーを読み取れませんでした
1 つのホスト (ローカル マシン) で AppFabric キャッシュ クラスターをインストールして構成しました。プロバイダーとして SQL を使用します。
管理者権限を使用して Caching Administration Windows PowerShell を起動すると、次のエラーが発生しました。
DCacheAdministration.log を開くと、以下のように表示されます。
リモート レジストリ サービスが開始されました。regedit.exe で読み取りアクセス許可が必要なアカウントはどれですか? LOCAL SERVICE (リモート レジストリ サービスがこれをログオンとして使用するため) と NETWORK SERVICE (Caching Service Account として使用したもの) の権限を提供しました。レジストリ キーにアクセスできるようにするために、他のアクセス許可を与える必要がありますか?? または、他に何を確認する必要がありますか?
助けてください