1. ホーム
  2. java

[解決済み] CacheableにTTLを設定することはできますか?

2022-06-15 17:38:34

質問

私は @Cacheable アノテーションのサポートを試しているのですが、TTLを設定することでキャッシュされたデータを一定時間後にクリアする方法はないでしょうか? 現在、私が見る限りでは、キャッシュされたデータをクリアするには @CacheEvict を使用し、さらにそれを @Scheduled TTLの実装を自分で作ることもできますが、こんな単純な作業にはちょっと無理があるような?

どのように解決するのですか?

参照 http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#cache-specific-config :

TTL/TTI/退会ポリシー/XXX機能はどのように設定すればよいのでしょうか?

直接、キャッシュプロバイダーを通して行います。キャッシュの抽象化は... キャッシュの実装ではなく、抽象化です。

なので、EHCacheを使う場合は、EHCacheの設定を使ってTTLを設定します。

また、Guavaの CacheBuilder を使用してキャッシュを構築し、このキャッシュの ConcurrentMap ビューを の setStore メソッドに渡す。 .