Package cherrypy :: Package lib :: Module caching :: Class AntiStampedeCache
[hide private]
[frames] | no frames]

Class AntiStampedeCache

source code

object --+    
         |    
      dict --+
             |
            AntiStampedeCache

A storage system for cached items which reduces stampede collisions.

Instance Methods [hide private]
 
wait(self, key, timeout=5, debug=False)
Return the cached value for the given key, or None.
source code
 
__setitem__(self, key, value)
Set the cached value for the given key.
source code

Inherited from dict: __cmp__, __contains__, __delitem__, __eq__, __ge__, __getattribute__, __getitem__, __gt__, __init__, __iter__, __le__, __len__, __lt__, __ne__, __new__, __repr__, __sizeof__, clear, copy, fromkeys, get, has_key, items, iteritems, iterkeys, itervalues, keys, pop, popitem, setdefault, update, values, viewitems, viewkeys, viewvalues

Inherited from object: __delattr__, __format__, __reduce__, __reduce_ex__, __setattr__, __str__, __subclasshook__

Class Variables [hide private]

Inherited from dict: __hash__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

wait(self, key, timeout=5, debug=False)

source code 

Return the cached value for the given key, or None.

If timeout is not None, and the value is already being calculated by another thread, wait until the given timeout has elapsed. If the value is available before the timeout expires, it is returned. If not, None is returned, and a sentinel placed in the cache to signal other threads to wait.

If timeout is None, no waiting is performed nor sentinels used.

__setitem__(self, key, value)
(Index assignment operator)

source code 

Set the cached value for the given key.

Overrides: dict.__setitem__