Play框架中的缓存模型。我必须把缓存代码放在哪里?

时间:2012-05-31 07:49:49

标签: caching playframework memcached playframework-1.x

你能解释一下 - 我如何在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 

但我没有在官方网站上找到有关此变量的任何信息。

我需要帮助!如何正确缓存? 谢谢!

0 个答案:

没有答案