■DataContext(ObjectContext)のインスタンス毎にキャッシュする。
SelectQuery query = new SelectQuery(Tag.class);
query.setName("sql1");
query.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE);//…①
// 初回はSQL実行
List res = dataContext.performQuery(query);
~
// 2回目以降はキャッシュから取得
res = dataContext().performQuery(query);
~
// 再度SQLを実行
query.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE_REFRESH);//…②
res = dataContext().performQuery(query);
~
■VMのインスタンス毎にキャッシュする。
①②を以下のようにすればよい。
①:QueryCacheStrategy.SHARED_CACHE
②:QueryCacheStrategy.SHARED_CACHE_REFRESH
■異なるVMのインスタンス毎にもキャッシュできる
あとで記載。
以上
0 件のコメント:
コメントを投稿