Package org.h2.util
Class CacheSecondLevel
java.lang.Object
org.h2.util.CacheSecondLevel
- All Implemented Interfaces:
Cache
Cache which wraps another cache (proxy pattern) and adds caching using map.
This is useful for WeakReference, SoftReference or hard reference cache.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear the cache.find
(int pos) Get an element from the cache if it is available.get
(int pos) Get an element in the cache if it is available.Get all objects in the cache that have been changed.int
Get the maximum memory to be used.int
Get the used size in KB.void
put
(CacheObject r) Add an element to the cache.boolean
remove
(int pos) Remove an object from the cache.void
setMaxMemory
(int size) Set the maximum memory to be used by this cache.update
(int pos, CacheObject record) Update an element in the cache.
-
Field Details
-
baseCache
-
map
-
-
Constructor Details
-
CacheSecondLevel
CacheSecondLevel(Cache cache, Map<Integer, CacheObject> map)
-
-
Method Details
-
clear
public void clear()Description copied from interface:Cache
Clear the cache. -
find
Description copied from interface:Cache
Get an element from the cache if it is available. This will not move the item to the front of the list. -
get
Description copied from interface:Cache
Get an element in the cache if it is available. This will move the item to the front of the list. -
getAllChanged
Description copied from interface:Cache
Get all objects in the cache that have been changed.- Specified by:
getAllChanged
in interfaceCache
- Returns:
- the list of objects
-
getMaxMemory
public int getMaxMemory()Description copied from interface:Cache
Get the maximum memory to be used.- Specified by:
getMaxMemory
in interfaceCache
- Returns:
- the maximum size in KB
-
getMemory
public int getMemory()Description copied from interface:Cache
Get the used size in KB. -
put
Description copied from interface:Cache
Add an element to the cache. Other items may fall out of the cache because of this. It is not allowed to add the same record twice. -
remove
public boolean remove(int pos) Description copied from interface:Cache
Remove an object from the cache. -
setMaxMemory
public void setMaxMemory(int size) Description copied from interface:Cache
Set the maximum memory to be used by this cache.- Specified by:
setMaxMemory
in interfaceCache
- Parameters:
size
- the maximum size in KB
-
update
Description copied from interface:Cache
Update an element in the cache. This will move the item to the front of the list.
-