betty.cache package¶
Submodules¶
Module contents¶
Provide the Cache API.
- class betty.cache.Cache[source]¶
Bases:
Generic[CacheItemValueContraT]Provide a cache.
Implementations MUST be thread-safe.
- async delete(cache_item_id)[source]¶
Delete the cache item with the given ID.
- get(cache_item_id)[source]¶
Get the cache item with the given ID.
- Parameters:¶
- cache_item_id¶
- Return type:¶
typing.AsyncContextManager[typing.Optional[betty.cache.CacheItem[typing.TypeVar(CacheItemValueContraT, contravariant=True)]]]
- getset(cache_item_id, *, wait=True)[source]¶
Get the cache item with the given ID, and provide a setter to add or update it within the same atomic operation.
If
waitisFalseand no lock can be acquired, returnNone, None. Otherwise return: 0. A cache item if one could be found, or elseNone. 1. An asynchronous setter that takes the cache item’s value as its only argument.- Parameters:¶
- Return type:¶
typing.AsyncContextManager[tuple[typing.Optional[betty.cache.CacheItem[typing.TypeVar(CacheItemValueContraT, contravariant=True)]],collections.abc.Callable[[typing.TypeVar(CacheItemValueContraT, contravariant=True)],collections.abc.Awaitable[None]] |None]]
- async set(cache_item_id, value, *, modified=None)[source]¶
Add or update a cache item.