自己紹介

自分の写真
最近、iphoneアプリをリリースしました。
UxU
無料アプリですので、是非遊んで下さい。 第二弾アプリ:工場夜景写真集 今後も色々なアプリをリリースしていく予定です。
次は、コスプレ or 漫画 or 騎乗日記

2009年12月28日月曜日

JCacheについて

毎回同じデータを呼ぶ際は、データベースにアクセスするよりも
メモリ上からデータを取得する方が圧倒的に早いので、
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 lessonList = (List) qeyLM.execute();

JCacheBean cBean = new JCacheBean();
Map dataLesson = Maps.newLinkedHashMap();

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 件のコメント:

コメントを投稿