1

私に説明してもらえますか?playframeworkでmemcachedを使用するにはどうすればよいですか? モデルをキャッシュのどこに配置する必要がありますか?

公式サイトの例では、コントローラーにキャッシュするためのコードを配置していますが、これは悪い考えだと思います。コントローラーのメソッドが複雑になりすぎて、コードの同じ部分を繰り返す必要があります。

モデルのメソッド(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);

それらは静的であるため、オーバーライドできません(最後の1つでは、削除されたオブジェクトに関する情報を受け取ることができません)。

インターネットでこのトピックについて私が見つけたもの:

この質問に対する回答の中に、「モデルのキャッシュ:休止状態で実行されます。何も実装する必要はありません」 とはどういう意味ですか?このオプションをオンにするにはどうすればよいですか?

そして、ここに休止状態のキャッシングに関するいくつかの情報があります。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 

しかし、私は公式サイトでこの変数に関する情報を見つけていません。

私は助けが必要です!キャッシュを正しく行う方法は?ありがとう!

4

0 に答える 0