你能解释一下 - 我如何在playframework中使用memcached? 哪里我必须将模型放入缓存中?
在官方网站上的示例中,他们在控制器中放置了缓存代码,但我认为这是个坏主意 - 控制器方法变得太复杂,我不得不重复相同的代码部分。
我尝试将缓存代码放在Model的方法中(Overide save()和delete()):
@Override
public News save() {
News news = super.save();
List<News> newsList = News.findAll();
Cache.set("news", newsList);
return news;
}
但我有更多保存和删除方法!例如:
public static int deleteAll();
和
public static int delete(String query, Object... params);
我无法覆盖它们,因为它们是静态的(在最后一个中我无法回复有关已删除对象的信息)。
我在互联网上找到的有关此主题的内容:
在this question的答案中,我发现: “模型缓存:通过休眠完成,无需实现任何东西” 这是什么意思?如何启用此选项?
并且here有一些关于hibernate缓存的信息。将变量放在application.conf中是必要的:
hibernate.cache.provider_class=com.googlecode.hibernate.memcached.Memcached CacheProvider
hibernate.cache.use_query_cache=true
hibernate.memcached.servers=127.0.0.1:11211
hibernate.memcached.cacheTimeSeconds=300
但我没有在官方网站上找到有关此变量的任何信息。
我需要帮助!如何正确缓存? 谢谢!