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


Download files

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

Source Distribution

aiohttp-aiocache-0.1.0.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

aiohttp_aiocache-0.1.0-py3-none-any.whl (4.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page