Package web2py :: Package gluon :: Module cache :: Class CacheAbstract
[hide private]
[frames] | no frames]

Class CacheAbstract

source code

object --+
         |
        CacheAbstract
Known Subclasses:

Abstract class for cache implementations. Main function is now to provide referenced api documentation.

Use CacheInRam or CacheOnDisk instead which are derived from this class.

Instance Methods [hide private]
 
__init__(self, request=None)
Paremeters...
source code
 
__call__(self, key, f, time_expire=300)
Tries retrieve the value corresponding to `key` from the cache of the object exists and if it did not expire, else it called the function `f` and stores the output in the cache corresponding to `key`.
source code
 
clear(self, regex=None)
Clears the cache of all keys that match the provided regular expression.
source code
 
increment(self, key, value=1)
Increments the cached value for the given key by the amount in value
source code
 
_clear(self, storage, regex)
Ausxiliary function called by `clear` to search and clear cache entries
source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Variables [hide private]
  cache_stats_name = 'web2py_cache_statistics'
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, request=None)
(Constructor)

source code 

Paremeters
----------
request:
    the global request object

Overrides: object.__init__

__call__(self, key, f, time_expire=300)
(Call operator)

source code 

Tries retrieve the value corresponding to `key` from the cache of the
object exists and if it did not expire, else it called the function `f`
and stores the output in the cache corresponding to `key`. In the case
the output of the function is returned.

:param key: the key of the object to be store or retrieved
:param f: the function, whose output is to be cached
:param time_expire: expiration of the cache in microseconds

- `time_expire` is used to compare the current time with the time when
    the requested object was last saved in cache. It does not affect
    future requests.
- Setting `time_expire` to 0 or negative value forces the cache to
    refresh.

If the function `f` is `None` the cache is cleared.

clear(self, regex=None)

source code 

Clears the cache of all keys that match the provided regular expression.
If no regular expression is provided, it clears all entries in cache.

Parameters
----------
regex:
    if provided, only keys matching the regex will be cleared.
    Otherwise all keys are cleared.

increment(self, key, value=1)

source code 

Increments the cached value for the given key by the amount in value

Parameters
----------
key:
    key for the cached object to be incremeneted
value:
    amount of the increment (defaults to 1, can be negative)