Memcache のサンプル利用例
利用する箇所は、Controller でも Service でもよい。
下記は Controller での利用した場合のサンプル。
import org.slim3.memcache.Memcache; public class MyAppController extends Controller { private MyAppService service = new MyAppService(); private static final Integer 30_SECONDS = 30; @Override public Navigation run() throws Exception { List<MyModel> myModelList; String parameterHoge = (null == request.getParameter("a")) ? "N/A" : request.getParameter("a"); String parameterFuga = (null == request.getParameter("b")) ? "N/A" : request.getParameter("b"); String cacheKey = Hoge + ":" + Fuga; if (Memcache.contains(cacheKey)) { myModelList = articleList = Memcache.get(cacheKey); } else { myModelList = service.getAll(Hoge, Fuga); Memcache.put(cacheKey, myModelList, Expiration.byDeltaSeconds(30_SECONDS), SetPolicy.SET_ALWAYS); } requestScope("myModelList", myModelList); return forward("index.jsp"); } }
すごく簡単。