我試圖讓這個緩存在每天凌晨3點刷新。問題在於用戶需要等待很長時間才能使緩存預熱。所以我寧願一夜之間刷新它,並準備在早上爲UI快速訪問。在特定時間強制刷新番石榴緩存
return CacheBuilder.newBuilder()
.maximumSize(1000)
.expireAfterAccess(1, TimeUnit.DAYS)
.build(new CacheLoader<String, Long>() {
@Override
public Long load(String key)
throws Exception {
return db.getMetrics(key);
}
});
我希望能夠在高速緩存中提供一組固定的密鑰集以在凌晨3點刷新。
我讀了Google documentation,但它似乎只刷新已經加載到緩存中的數據。
TL; DR - 展望白天
一般來說,你不得不安排預取數據的後臺線程,但往往超過本地高速緩存的大小。在這種情況下,您應該預熱遠程緩存層(例如memcached),這會使本地緩存未命中。 –