メモリ上からデータを取得する方が圧倒的に早いので、
JCacheというものを利用する。
裏にあるエンジンは、[Memcache]である。
実際には、どのように使うのかというと、
私の場合は、キャッシュデータがない時だけ、マスタデータを呼び出して、設定することにしている。
----------
CacheManager manager = CacheManager.getInstance();
Cache cache = manager.getCache(GaeUtil.getUniqueKey());
if(cache == null){
//キャッシュがない場合、マスタを取得して設定する
Query qeyLM = pm.newQuery(LessonMaster.class);
qeyLM.setOrdering("level asc");
List
JCacheBean cBean = new JCacheBean();
Map
for (LessonMaster l : lessonList)
{
dataLesson.put(l.getId(), l.getLessonName());
}
cBean.setLessonMap(dataLesson);
//データ設定
cache.put(JCacheBean.CACHE_KEY, cBean);
//キャッシュ登録
manager.registerCache(GaeUtil.getUniqueKey(), cache);
}
※キャッシュにセットするクラスは、java.io.Serializable をインターフェイスを実装したクラスである
必要があります。
0 件のコメント:
コメントを投稿