CacheTQ

An alternative cache implementation. This implementation uses two caches: a LRU cache and a FIFO cache. Entries are first kept in the FIFO cache, and if referenced again then marked in a hash set. If referenced again, they are moved to the LRU cache. Stream pages are never added to the LRU cache. It is supposed to be more or less scan resistant, and it doesn't cache large rows in the LRU cache.

Methods
void clear()
void clear()
CacheObject find(int pos)
CacheObject find(int pos)
CacheObject get(int pos)
CacheObject get(int pos)
ArrayList getAllChanged()
ArrayList getAllChanged()
int getMaxMemory()
int getMaxMemory()
int getMemory()
int getMemory()
void put(CacheObject r)
void put(CacheObject r)
boolean remove(int pos)
boolean remove(int pos)
void setMaxMemory(int maxMemoryKb)
void setMaxMemory(int maxMemoryKb)
CacheObject update(int pos, CacheObject record)
CacheObject update(int pos, CacheObject record)