Poco

template < class TKey, class TValue, class TMutex = FastMutex, class TEventMutex = FastMutex >

class AccessExpireCache

Library: Foundation
Package: Cache
Header: Poco/AccessExpireCache.h

Description

An AccessExpireCache caches entries for a fixed time period (per default 10 minutes). Entries expire when they are not accessed with get() during this time period. Each access resets the start time for expiration. Be careful when using an AccessExpireCache. A cache is often used like cache.has(x) followed by cache.get x). Note that it could happen that the "has" call works, then the current execution thread gets descheduled, time passes, the entry gets invalid, thus leading to an empty SharedPtr being returned when "get" is invoked.

Inheritance

Direct Base Classes: AbstractCache < TKey, TValue, AccessExpireStrategy < TKey, TValue >, TMutex, TEventMutex >

All Base Classes: AbstractCache < TKey, TValue, AccessExpireStrategy < TKey, TValue >, TMutex, TEventMutex >

Constructors

AccessExpireCache inline

AccessExpireCache(
    Timestamp::TimeDiff expire = 600000
);

Destructor

~AccessExpireCache inline

~AccessExpireCache();