Transactional LRU object cache. Caches objects using a least-recently-used strategy. It provides basic isolation from other transactions and atomicity of all operations. As no locking is used (which is undesirable mainly as a cache should never block and a commit must never fail) serializability needs to be guaranteed by underlying stores.
Caution: Only global caches are limited by given size. Size of temporary data inside a transaction is unlimited.
Note: This cache has no idea if the data it caches in transactions are read from or written to store. It thus handles both access types the same way. This means read accesses are cached in transactions even though they could be cached globally. Like write accesses they will be moved to global cache at commit time.
@author
Oliver Zeigermann
@version $Revision: 1.1.2.1 $