mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-10-12 16:15:42 +00:00
perf[cache]: check expire cache in all access method
This commit is contained in:
1 parent
96485d132b
commit
d676bc4972
1 file changed
+15
-12
@@ -111,9 +111,24 @@ public class LazyCache<K, V> {
|
||||
|
||||
|
||||
public void remove(K key) {
|
||||
checkExpire();
|
||||
removeForCause(key, RemovalCause.EXPLICIT);
|
||||
}
|
||||
|
||||
public void forEach(BiConsumer<K, V> biConsumer) {
|
||||
checkExpire();
|
||||
for (var entry : cacheMap.entrySet()) {
|
||||
biConsumer.accept(entry.getKey(), entry.getValue().value);
|
||||
}
|
||||
}
|
||||
|
||||
public int size() {
|
||||
checkExpire();
|
||||
return cacheMap.size();
|
||||
}
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
private void removeForCause(K key, RemovalCause removalCause) {
|
||||
if (key == null) {
|
||||
return;
|
||||
@@ -134,18 +149,6 @@ public class LazyCache<K, V> {
|
||||
removeListener.accept(removeList, removalCause);
|
||||
}
|
||||
|
||||
public void forEach(BiConsumer<K, V> biConsumer) {
|
||||
for (var entry : cacheMap.entrySet()) {
|
||||
biConsumer.accept(entry.getKey(), entry.getValue().value);
|
||||
}
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return cacheMap.size();
|
||||
}
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
private void checkMaximumSize() {
|
||||
if (cacheMap.size() > backPressureSize) {
|
||||
var removeList = cacheMap.entrySet()
|
||||
|
||||
Reference in new issue
Block a user