mongodb#

Summary#

MongoDBBackend([cache_name, connection])

Async cache backend for MongoDB (requires motor)

MongoDBCache(db_name, collection_name[, ...])

An async interface for caching objects in MongoDB

MongoDBPickleCache(db_name, collection_name)

Same as MongoDBCache, but pickles values before saving

Module Contents#

class MongoDBBackend(cache_name='aiohttp-cache', connection=None, **kwargs)#

Bases: aiohttp_client_cache.backends.base.CacheBackend

Async cache backend for MongoDB (requires motor)

__init__(cache_name='aiohttp-cache', connection=None, **kwargs)#
Parameters
  • cache_name (str) – Database name

  • connection (Optional[AsyncIOMotorClient]) – Optional client object to use instead of creating a new one

  • expire_after (Union[None, int, float, str, datetime.datetime, datetime.timedelta]) – Time after which a cache entry will be expired; see Cache Expiration for possible formats

  • urls_expire_after (Dict[str, Union[None, int, float, str, datetime.datetime, datetime.timedelta]]) – Expiration times to apply for different URL patterns

  • allowed_codes (tuple) – Only cache responses with these status codes

  • allowed_methods (tuple) – Only cache requests with these HTTP methods

  • include_headers (bool) – Cache requests with different headers separately

  • ignored_params (Iterable) – Request parameters to be excluded from the cache key

  • cache_control (bool) – Use Cache-Control response headers

  • filter_fn (Callable) – function that takes a aiohttp.ClientResponse object and returns a boolean indicating whether or not that response should be cached. Will be applied to both new and previously cached responses

  • secret_key (Union[Iterable, str, bytes]) – Optional secret key used to sign cache items for added security

  • salt (Union[str, bytes]) – Optional salt used to sign cache items

  • serializer – Custom serializer that provides loads and dumps methods

  • host (str) – Server hostname, IP address, Unix domain socket path, or MongoDB URI

  • port (int) – Server port

  • document_class (Type) – Default class to use for documents returned from queries on this client

  • tz_aware (bool) – Return timezone-aware datetime objects

  • connect (bool) – Immediately connecting to MongoDB in the background. Otherwise connect on the first operation.

  • directConnection (bool) – if True, forces this client to connect directly to the specified MongoDB host as a standalone. If false, the client connects to the entire replica set of which the given MongoDB host(s) is a part.

Parameters
class MongoDBCache(db_name, collection_name, connection=None, **kwargs)#

Bases: aiohttp_client_cache.backends.base.BaseCache

An async interface for caching objects in MongoDB

Parameters
  • db_name (str) – database name (be careful with production databases)

  • collection_name (str) – collection name

  • connection (Optional[AsyncIOMotorClient]) – MongoDB connection instance to use instead of creating a new one

  • kwargs – Additional keyword args for AsyncIOMotorClient

_abc_impl = <_abc_data object>#
async bulk_delete(keys)#

Delete item(s) from the cache. Does not raise an error if the item is missing.

Parameters

keys (set) –

async clear()#

Delete all items from the cache

async contains(key)#

Check if a key is stored in the cache

Parameters

key (str) –

Return type

bool

async delete(key)#

Delete an item from the cache. Does not raise an error if the item is missing.

Parameters

key (str) –

async keys()#

Get all keys stored in the cache

Return type

AsyncIterable[str]

async read(key)#

Read an item from the cache. Returns None if the item is missing.

Parameters

key (str) –

Return type

Union[CachedResponse, bytes, str, None]

async size()#

Get the number of items in the cache

Return type

int

async values()#

Get all values stored in the cache

Return type

AsyncIterable[Union[CachedResponse, bytes, str, None]]

async write(key, item)#

Write an item to the cache

Parameters
class MongoDBPickleCache(db_name, collection_name, connection=None, **kwargs)#

Bases: aiohttp_client_cache.backends.mongodb.MongoDBCache

Same as MongoDBCache, but pickles values before saving

Parameters
_abc_impl = <_abc_data object>#
async read(key)#

Read an item from the cache. Returns None if the item is missing.

async values()#

Get all values stored in the cache

Return type

AsyncIterable[Union[CachedResponse, bytes, str, None]]

async write(key, item)#

Write an item to the cache