Headers for two l2-lists used to implement enhanced LRU discipline
for replacing objects in object cache. Head of the list contains
most recently used object and tail - least recently used objects.
To prevent object cache from replacing all object as a result of
database serach through large number of obejct (most of which will
not be used in future), standard LRU scheme was extended to more fit
specific of database applications. Object cache is divided into two
part: primary cache and cache for frequently used objects. First time
object is accessed, it is placed in primary cache. Object will be moved
to "frequently used objects" cache only when it is accessed more than
twice and it is not at the head of LRU list (case of several sucessive
accesses to the object). Both cache parts are managed separately: when
total size of objects in the one part exceeds some limit value, least
recently used objects from this part are thrown away from clients memory
not affecting objects in another part of the cache.