キャッシュに Google Guava ライブラリを使用しています。自動キャッシュ更新の場合、次のように実行できます。
cache = CacheBuilder.newBuilder()
.refreshAfterWrite(15, TimeUnit.MINUTES)
.maximumSize(100)
.build(....);
ただし、エントリに対する最初の古いリクエストが発生すると、自動更新が実行されます。
キャッシュ データのリクエストが来なくても、自動的に更新する方法はありますか? 同様に、誰かがキャッシュ データを呼び出したかどうかに関係なく、15 分ごとに Db からキャッシュ データを取得してロードする必要があります。
また、Guava のキャッシュ有効期限はキャッシュ全体に対するものです。キーに基づいてキャッシュ値を期限切れにすることは可能ですか? キー "NOT_SO_FREQ_CHANGE_DATA" を持つキャッシュ データは 1 時間ごとに期限切れになり、キー "FREQ_CHANGING_DATA" を持つデータは 15 分ごとに期限切れになる必要がありますか?