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

# Class CacheAbstract

source code

    object --+
             |
            CacheAbstract

Known Subclasses:
  CacheInRam, CacheOnDisk

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=1) 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=1) 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) Auxiliary 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=1) (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=1) | 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)