問題タブ [azure-elastic-scale]
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# - ShardMapManager および ShardMap オブジェクトは、シングルトンとしてグローバルにキャッシュする必要がありますか?
キーによって分割された複数の Azure SQL データベースを含むアプリケーションがあります。シャード データベース接続を開くたびに、ShardMapManager と ListShardMap を取得します。
次に、シャード キーを に渡して接続を開きますOpenConnectionForKey()
。
すべてのシャードに対して 1 つのシャード マップと 1 つのリスト マップのみを使用するので、私の質問は、これらのオブジェクトをグローバル変数にキャッシュできますか? それらはスレッドセーフになるように設計されていますか?それはパフォーマンスに役立ちますか?
アップデート
私はここでhttps://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-scale-shard-map-management#constructing-a-shardmapmanagerをShardMapManager
実際に一度作成する必要があることを見つけましたグローバル変数に格納されます。
しかし、どうListShardMap
ですか?1 つしかない場合、それもグローバル変数に格納できますか?