Cheetah.CacheRegion module¶
Cache holder classes for Cheetah:
Cache regions are defined using the #cache Cheetah directive. Each cache region can be viewed as a dictionary (keyed by cacheRegionID) handling at least one cache item (the default one). It’s possible to add cacheItems in a region by using the varyBy #cache directive parameter as in the following example:
#def getArticle
   this is the article content.
#end def
#cache varyBy=$getArticleID()
   $getArticle($getArticleID())
#end cache
The code above will generate a CacheRegion and add new cacheItem for each value of $getArticleID().
- class Cheetah.CacheRegion.CacheItem(cacheItemID, cacheStore)¶
- Bases: - object- A CacheItem is a container storing: - cacheID (string) 
- refreshTime (timestamp or None) : last time the cache was refreshed 
- data (string) : the content of the cache 
 - clear()¶
 - getData()¶
 - getExpiryTime()¶
 - getRefreshTime()¶
 - hasExpired()¶
 - renderOutput()¶
- Can be overridden to implement edge-caching 
 - setData(data)¶
 - setExpiryTime(time)¶
 
- class Cheetah.CacheRegion.CacheRegion(regionID, templateCacheIdPrefix='', cacheStore=None)¶
- Bases: - object- A CacheRegion stores some CacheItem instances. - This implementation stores the data in the memory of the current process. If you need a more advanced data store, create a cacheStore class that works with Cheetah’s CacheStore protocol and provide it as the cacheStore argument to __init__. For example you could use Cheetah.CacheStore.MemcachedCacheStore, a wrapper around the Python memcached API (http://www.danga.com/memcached). - clear()¶
- drop all the caches stored in this cache region 
 - getCacheItem(cacheItemID)¶
- Lazy access to a cacheItem - Try to find a cache in the stored caches. If it doesn’t exist, it’s created. - Returns a CacheItem instance. 
 - isNew()¶