Base Redis Cache¶
- class cachelib.redis_base.BaseRedisCache(client, default_timeout=300, key_prefix=None)¶
Bases:
BaseCacheBase class for Redis compatible cache backends.
Subclasses are responsible for constructing the client and passing it to this base via
super().__init__.- Parameters:
client (Any) – a connected client instance compatible with the Redis API.
default_timeout (int) – the default timeout that is used if no timeout is specified on
set(). A timeout of 0 indicates that the cache never expires.key_prefix (str | Callable[[], str] | None) – A prefix that should be added to all keys.
- serializer = <cachelib.serializers.BaseRedisSerializer object>¶
- get(key)¶
Look up key in the cache and return the value for it.
- get_many(*keys)¶
Returns a list of values for the given keys. For each key an item in the list is created:
foo, bar = cache.get_many("foo", "bar")
Has the same error handling as
get().
- set(key, value, timeout=None)¶
Add a new key/value to the cache (overwrites value, if key already exists in the cache).
- Parameters:
- Returns:
Trueif key has been updated,Falsefor backend errors. Pickling errors, however, will raise a subclass ofpickle.PickleError.- Return type:
boolean
- add(key, value, timeout=None)¶
Works like
set()but does not overwrite the values of already existing keys.- Parameters:
- Returns:
Same as
set(), but alsoFalsefor already existing keys.- Return type:
boolean
- set_many(mapping, timeout=None)¶
Sets multiple keys and values from a mapping.
- Parameters:
- Returns:
A list containing all keys successfully set
- Return type:
boolean
- delete(key)¶
Delete
keyfrom the cache.- Parameters:
key (str) – the key to delete.
- Returns:
Whether the key existed and has been deleted.
- Return type:
boolean
- delete_many(*keys)¶
Deletes multiple keys at once.
- Parameters:
keys (str) – The function accepts multiple keys as positional arguments.
- Returns:
A list containing all successfully deleted keys
- Return type:
boolean
- 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:
boolean
- 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.