カーソル利用時のMemcache格納
カーソル取得のため、QueryResultListを利用している場合、
このクラスはSerializableを実装していないので、
Memcacheへそのまま格納できない。
なので、無理やりArrayListに変換に変換して対応した。
カーソルが取得できなくなるので、カーソルも別途格納。
// データベースからデータを取得 qrlst = service.prepare(qry).asQueryResultList(fetchOptions); // ここまでの結果をカーソルにする cursor = qrlst.getCursor(); // カーソルをBase64エンコード文字列に変換 page = cursor.toWebSafeString(); // QueryResultListからArrayListに変換 lst = new ArrayList<Entity>(qrlst); // キャシュに保存 cache.put("Cursor:" + cacheKey, page); cache.put("Page:" + cacheKey, lst);