Skip to main content

Caching middleware for aiohttp server with aiocache under the hood

Project description

aiohttp-aiocache

Maintainability Test Coverage

Caching middleware for aiohttp server with aiocache under the hood. Inspired by aiohttp-cache.

Installation

pip install aiohttp-aiocache

or

poetry add aiohttp-aiocache

Optional aiocache dependencies for redis, memcached and msgpack support will not be installed. Install them manually if required.

Usage

import asyncio

import aiohttp.web as web
from aiocache import Cache
from aiocache.serializers import PickleSerializer

from aiohttp_aiocache import cached, register_cache


@cached  # mark handler with decorator
async def handler(_: web.Request) -> web.Response:
    await asyncio.sleep(1)
    return web.Response(text="Hello world")

app = web.Application()
app.router.add_route("GET", "/", handler)

# create aiocache instance
cache = Cache(
    Cache.MEMORY,
    serializer=PickleSerializer(),
    namespace="main",
    ttl=60,
)

# register cache backend in appplication
register_cache(app, cache)

web.run_app(app)

Limitations

Support caching for GET requests only.

License

MIT

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aiohttp-aiocache, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size aiohttp_aiocache-0.1.0-py3-none-any.whl (4.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size aiohttp-aiocache-0.1.0.tar.gz (3.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page