Simple Memory Backend¶
- class cachelib.simple.SimpleCache(threshold=500, default_timeout=300, ignore_delete_many_errors=True)¶
Bases:
BaseCacheSimple memory cache for single process environments. All operations are protected by a
threading.RLock, making a cache instance safe to use from multiple threads within the same process.- Parameters:
threshold (int) – the maximum number of items the cache stores before it starts deleting some.
default_timeout (int | timedelta) –
the default timeout that is used if no timeout is specified on
set(). Either a number of seconds or adatetime.timedelta. A timeout of 0 indicates that the cache never expires.Changed in version 0.17.0: Accepts a
datetime.timedelta.ignore_delete_many_errors (bool) –
If False, delete_many() will raise a RuntimeError if any key fails to delete. Keys that do not exist are considered successfully deleted and do not raise.
Changelog
Added in version 0.16.0.
- serializer = <cachelib.serializers.SimpleSerializer object>¶
- get(key)¶
Look up key in the cache and return the value for it.
- 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 | timedelta | None) – the cache timeout for the key, either a number of seconds or a
datetime.timedelta(if not specified, it uses the default timeout). A timeout of 0 indicates that the cache never expires.
- Returns:
Trueif key has been updated,Falsefor backend errors. Pickling errors, however, will raise a subclass ofpickle.PickleError.- Return type:
bool | None
- 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 | timedelta | None) – the cache timeout for the key, either a number of seconds or a
datetime.timedelta(if not specified, it uses the default timeout). A timeout of 0 indicates that the cache never expires.
- Returns:
Same as
set(), but alsoFalsefor already existing keys.- Return type:
- delete(key)¶
Delete
keyfrom the cache.
- 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.
- 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:
- inc(key, delta=1)¶
Increments the value of a key by
delta. If the key does not yet exist it is initialized withdelta.For supporting caches this is an atomic operation.
- dec(key, delta=1)¶
Decrements the value of a key by
delta. If the key does not yet exist it is initialized with-delta.For supporting caches this is an atomic operation.