cement.core.cache

Cement core cache module.

class cement.core.cache.CementCacheHandler(*args, **kw)

Bases: cement.core.handler.CementBaseHandler

Base class that all Cache Handlers should sub-class from.

class Meta

Bases: object

Handler meta-data (can be passed as keyword arguments to the parent class).

interface

The interface that this handler class implements.

alias of ICache

label = None

String identifier of this handler implementation.

class cement.core.cache.ICache

Bases: cement.core.interface.Interface

This class defines the Cache Handler Interface. Classes that implement this handler must provide the methods and attributes defined below.

Implementations do not subclass from interfaces.

Usage:

from cement.core import cache

class MyCacheHandler(object):
    class Meta:
        interface = cache.ICache
        label = 'my_cache_handler'
    ...
class IMeta

Bases: object

Interface meta-data.

label = 'cache'

The label (or type identifier) of the interface.

validator(klass, obj)

Interface validator function.

ICache._setup(app_obj)

The _setup function is called during application initialization and must ‘setup’ the handler object making it ready for the framework or the application to make further calls to it.

Parameters:app_obj – The application object.
Returns:None
ICache.delete(key)

Deletes a key/value from the cache.

Parameters:key – The key in the cache to delete.
Returns:True if the key is successfully deleted, False otherwise.
Return type:boolean
ICache.get(key, fallback=None)

Get the value for a key in the cache. If the key does not exist or the key/value in cache is expired, this functions must return ‘fallback’ (which in turn must default to None).

Parameters:
  • key – The key of the value stored in cache
  • fallback – Optional value that is returned if the cache is expired or the key does not exist. Default: None
Returns:

Unknown (whatever the value is in cache, or the fallback)

ICache.purge()

Clears all data from the cache.

ICache.set(key, value, time=None)

Set the key/value in the cache for a set amount of time.

Parameters:
  • key – The key of the value to store in cache.
  • value – The value of that key to store in cache.
  • time (int (seconds) or None) – A one-off expire time. If no time is given, then a default value is used (determined by the implementation).
Returns:

None

cement.core.cache.cache_validator(klass, obj)

Validates a handler implementation against the ICache interface.