|
|
|
@ -44,6 +44,7 @@ public class CaffeineCacheDecorator implements Cache {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
|
@Override
|
|
|
|
|
public <T> T get(Object key, Class<T> type) {
|
|
|
|
|
Object o = CAFFEINE.get(getUniqueKey(key), k -> cache.get(key, type));
|
|
|
|
|
return (T) o;
|
|
|
|
@ -55,6 +56,7 @@ public class CaffeineCacheDecorator implements Cache {
|
|
|
|
|
cache.put(key, value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ValueWrapper putIfAbsent(Object key, Object value) {
|
|
|
|
|
CAFFEINE.invalidate(getUniqueKey(key));
|
|
|
|
|
return cache.putIfAbsent(key, value);
|
|
|
|
@ -65,6 +67,7 @@ public class CaffeineCacheDecorator implements Cache {
|
|
|
|
|
evictIfPresent(key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean evictIfPresent(Object key) {
|
|
|
|
|
boolean b = cache.evictIfPresent(key);
|
|
|
|
|
if (b) {
|
|
|
|
@ -78,6 +81,7 @@ public class CaffeineCacheDecorator implements Cache {
|
|
|
|
|
cache.clear();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean invalidate() {
|
|
|
|
|
return cache.invalidate();
|
|
|
|
|
}
|
|
|
|
|