Package org.postgresql.util
Class LruCache<Key,Value extends CanEstimateSize>
java.lang.Object
org.postgresql.util.LruCache<Key,Value>
- All Implemented Interfaces:
Gettable<Key,
Value>
public class LruCache<Key,Value extends CanEstimateSize>
extends Object
implements Gettable<Key,Value>
Caches values in simple least-recently-accessed order.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
When the entry is not present in cache, this create action is used to create one.static interface
Action that is invoked when the entry is removed from the cache. -
Constructor Summary
ConstructorDescriptionLruCache
(int maxSizeEntries, long maxSizeBytes, boolean accessOrder) LruCache
(int maxSizeEntries, long maxSizeBytes, boolean accessOrder, @Nullable LruCache.CreateAction<Key, Value> createAction, @Nullable LruCache.EvictAction<Value> onEvict) -
Method Summary
Modifier and TypeMethodDescriptionBorrows an entry from the cache.@Nullable Value
Returns an entry from the cache.void
Returns given value to the cache.void
Puts all the values from the given map into the cache.
-
Constructor Details
-
LruCache
public LruCache(int maxSizeEntries, long maxSizeBytes, boolean accessOrder) -
LruCache
public LruCache(int maxSizeEntries, long maxSizeBytes, boolean accessOrder, @Nullable LruCache.CreateAction<Key, Value> createAction, @Nullable LruCache.EvictAction<Value> onEvict)
-
-
Method Details
-
get
Returns an entry from the cache.- Specified by:
get
in interfaceGettable<Key,
Value extends CanEstimateSize> - Parameters:
key
- cache key- Returns:
- entry from cache or null if cache does not contain given key.
-
borrow
Borrows an entry from the cache.- Parameters:
key
- cache key- Returns:
- entry from cache or newly created entry if cache does not contain given key.
- Throws:
SQLException
- if entry creation fails
-
put
Returns given value to the cache.- Parameters:
key
- keyvalue
- value
-
putAll
Puts all the values from the given map into the cache.- Parameters:
m
- The map containing entries to put into the cache
-