BT

Entity Frameworkでセカンドレベルキャッシュ

| 作者: Roopesh Shenoy フォローする 0 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2011年9月8日. 推定読書時間: 2 分 |

原文(投稿日:2011/09/07)へのリンク

セカンドレベルキャッシュは、Entity Frameworkの枠に収まらない機能のひとつである。「Entity FrameworkとAppFabricのセカンドレベルキャッシュ」というMSDNの記事において、Julie Lerman氏は、Microsoft AppFabricのような優れたキャッシュサービスをEntity Frameworkのセカンドレベルキャッシュで実装する方法について解説した。

なぜセカンドレベルキャッシュが必要なのか?

EFは、コンテキストからステート情報を見つけて、自動的にデータベースの永続化コマンド(insert, update, delete)を生成する機能をすばらしい機能を持っています。しかし、もしステート情報が無効の場合、EFはSaveChangesを呼び出されてもなにもしません。

セカンドレベルキャッシュは、このタイプの問題を解決する手段になります。これらのキャッシュは、トランザクションの外(しばしばアプリケーションの外)にあるため、あらゆるコンテキストのインスタンスで有効です。

Julie氏は、Windows Server AppFabricで使えるようにするためにJarek Kowalski氏が設計したEFキャッシュプロバイダを拡張した。氏は、AppFabricクライアントAPIとともに動作するようにadapterクラスを変更し、ObjectContextクラスを拡張した。さらに詳しく学習するために、記事からコードサンプルをダウンロードすることができる。

セカンドレベルキャッシュはまた、頻繁にクエリされるデータをキャッシュして、頻繁にデータベースにアクセスすることを避けることによって、高トランザクションのアプリケーションのパフォーマンスを向上させることができる。Microsoft AppFabricは、Entity frameworkのようにORMとして使える必要がある唯一のキャッシュソリューションではなく、memcachedのような他のフレームワークでもコードを変更して、同じ目的で使うことができる。

ADO.NET Entity Frameworkは、マイクロソフトが提供するオブジェクトリレーションマッパーである。EF 4.1は、バリデーション空間データ列挙型などの興味深い機能とともに先日リリースされた。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT