問題タブ [ncache]
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.
c# - NCache as Entity Framework second level cache not syncing with database
Using NCache 4.6 as EF 6.1.3 second level cache, SqlDependency is not working. (It cant detect changes that I make directly in SQL server. Also does not update cache or invalidate it when using EF to add or delete entities to database. Albeit it detect updating an entity)
I've installed NCache in my computer with IP: 192.168.56.1
and SQL server 2014 in vbox with IP: 192.168.56.101
using instruction from their site and customizing them to meet my IP & user, I executed following SQL:
Also, select * from sys.dm_qn_subscriptions
shows that no one is subscribed.
caching - CreateCache.exe が NCache キャッシング ソフトウェアでスタックする (オープン ソース版)
(またはなどのcreatecache.exe
コマンドを使用して)新しいキャッシュを作成しようとするたびに、プログラムが起動し、(この操作の成功または失敗に関する)結果を出力せず、プロセスを停止することはできません。別のウィンドウで入力すると、新しいキャッシュが表示されないので、作成されていないと思います。createcache.exe ClusteredCache
createcache.exe ClusteredCache /s <ip> /t local
listcaches.exe
c# - Entity Framework 6.1 の NCache が NCache API で動作しない
EF 6.1.3 で NCache 4.6 を使用すると、NCache API を使用できません。
内部でクエリポリシーを使用する場合に機能しますが、メソッドefcaching.ncconf
のみを使用すると、キャッシュには影響しません。api-level-caching
.Cache()
私が取った手順:
Alachisoft.Integrations.EntityFramework.CachingProvider
プロジェクトへの参照を追加しました。
追加されたインターセプター:
Alachisoft.NCache.Integrations.EntityFramework.Caching
名前空間をファイルに追加しました。
そして最後に、EntityDataModel
サンプルを使用して、たとえば に変更PrintCustomerList(customerQuery);
しましたPrintCustomerList(customerQuery.Cache());
が、結果はキャッシュされません。
更新 1:
で確認するとdumpcachekeys.exe
、実際にはクエリ用のキャッシュが作成されていますが、それでも結果のためにデータベースに移動します。
更新 2:
現金データをダンプしようとするとdumpcachedata.exe
、次のエラーで失敗します:
更新 3
サンプルのエンティティ フレームワークで動的プロキシを無効にすると、でEntityDataModel
スローされたエラーが解決されdumpcachedata.exe
、キャッシュ データが正常にダンプされるようになりました。ただし、キャッシュされたクエリはデータベーストリップを引き起こします。
entity-framework - Memcached を Entity Framework 6 の第 2 層キャッシュとして使用できますか?
ASP.NET MVC 5 で記述されたアプリケーションがあります。これにより、多くのデータベース トランザクションが生成されます。
レポート専用のサーバー スレーブがないため、エンティティ フレームワークで第 2 レベルのキャッシュを使用して、レポートによって生成されるすべてのクエリをキャッシュする必要があります。
ここでの考え方は、特に複数のユーザーが同じレポートを表示しようとしている場合に、データベースにアクセスする必要があるクエリの量を減らすことです。したがって、ダッシュボードを表示したい人が 5 人いる場合、1 人だけがデータベースにヒットし、残りはキャッシュに保存されたデータ セットを読み取ります。これにより、レポートのパフォーマンスが向上し、データベースのロックが減少し、アプリケーションのパフォーマンスが向上します。
クエリが一定時間実行された後にデータセットがキャッシュされるエンティティフレームワークでMemcachedまたはRedisを使用することは可能ですか? もちろん、クエリが実行される前に、サーバーでハードクエリが実行される前に、既存のデータセットについてキャッシュがチェックされます。
私はまさに私が達成しようとしているもののように思われるNCacheに出くわしましたが、残念ながら高価です。
c# - キャッシュキーをハッシュする必要がありますか?
NCache を使用する既存のシステムに取り組んでいます。大規模なキャッシング要件を持つ分散システムであるため、キャッシングが正解であることに疑いの余地はありませんが...
何らかの理由で、既存のコードでは、キャッシュに格納する前にすべてのキャッシュ キーがハッシュされます。
私の主張は、キーをハッシュするべきではないということです。キャッシング ライブラリには、辞書を保存するための非常に最適化された方法があり、すべてをハッシュすると、これを行うとルックアップが実際に遅くなる可能性があるためです。
最初にコードを書いた人は去り、キーがキャッシュされる理由についての知識は失われました。
ハッシュ化が正しいことなのか、それとも削除すべきなのか、誰でも提案できますか。