Skip to content

Commit 8258bb0

Browse files
update: implement remove method in DefaultLRUCache for cache entry removal
1 parent 87c553c commit 8258bb0

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

core-api/src/main/java/com/optimizely/ab/internal/Cache.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ public interface Cache<T> {
2222
void save(String key, T value);
2323
T lookup(String key);
2424
void reset();
25+
void remove(String key);
2526
}

core-api/src/main/java/com/optimizely/ab/internal/DefaultLRUCache.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,19 @@ public void reset() {
9494
}
9595
}
9696

97+
public void remove(String key) {
98+
if (maxSize == 0) {
99+
// Cache is disabled when maxSize = 0
100+
return;
101+
}
102+
lock.lock();
103+
try {
104+
linkedHashMap.remove(key);
105+
} finally {
106+
lock.unlock();
107+
}
108+
}
109+
97110
private class CacheEntity {
98111
public T value;
99112
public Long timestamp;

0 commit comments

Comments
 (0)