# uWSGI Backend

class cachelib.uwsgi.UWSGICache(default_timeout=300, cache='')

  Bases: `BaseCache`

  Implements the cache using uWSGI’s caching framework.

  Note

  This class cannot be used when running under PyPy, because the uWSGI API implementation for PyPy is lacking the needed functionality.

  Parameters:

    - default_timeout (int) – The default timeout in seconds.

    - cache (str) – The name of the caching instance to connect to, for example: mycache@localhost:3031, defaults to an empty string, which means uWSGI will cache in the local instance. If the cache is in the same instance as the werkzeug app, you only have to provide the name of the cache.

  add(key, value, timeout=None)

    Works like `set()` but does not overwrite the values of already existing keys.

    Parameters:

      - key (str) – the key to set

      - value (Any) – the value for the key

      - timeout (int | None) – the cache timeout for the key in seconds (if not specified, it uses the default timeout). A timeout of 0 indicates that the cache never expires.

    Returns:

      Same as `set()`, but also `False` for already existing keys.

    Return type:

      boolean

  clear()

    Clears the cache. Keep in mind that not all caches support completely clearing the cache.

    Returns:

      Whether the cache has been cleared.

    Return type:

      boolean

  delete(key)

    Delete key from the cache.

    Parameters:

      key (str) – the key to delete.

    Returns:

      Whether the key existed and has been deleted.

    Return type:

      boolean

  get(key)

    Look up key in the cache and return the value for it.

    Parameters:

      key (str) – the key to be looked up.

    Returns:

      The value if it exists and is readable, else `None`.

    Return type:

      Any

  has(key)

    Checks if a key exists in the cache without returning it. This is a cheap operation that bypasses loading the actual data on the backend.

    Parameters:

      key (str) – the key to check

    Return type:

      bool

  serializer = <cachelib.serializers.UWSGISerializer object>
  set(key, value, timeout=None)

    Add a new key/value to the cache (overwrites value, if key already exists in the cache).

    Parameters:

      - key (str) – the key to set

      - value (Any) – the value for the key

      - timeout (int | None) – the cache timeout for the key in seconds (if not specified, it uses the default timeout). A timeout of 0 indicates that the cache never expires.

    Returns:

      `True` if key has been updated, `False` for backend errors. Pickling errors, however, will raise a subclass of `pickle.PickleError`.

    Return type:

      boolean