{"repo":"Krukov/cashews","free":true,"listed":false,"github":"https://github.com/Krukov/cashews","clone":"git clone https://github.com/Krukov/cashews.git","description":"Cache with async power","language":"Python","stars":591,"topics":["python","cache","cache-control","asycnio","asynchronous","aiohttp","caching","fastapi","redis","asyncio"],"license":"MIT","category":"databases-storage","readme_excerpt":"🥔 CASHEWS 🥔 Async cache framework with simple API to build fast and reliable applications --- Why Cache plays a significant role in modern applications and everybody wants to use all the power of async programming and cache. There are a few advanced techniques with cache and async programming that can help you build simple, fast, scalable and reliable applications. This library intends to make it easy to implement such techniques. Features - Easy to configure and use - Decorator-based API, decorate and play - Different cache strategies out-of-the-box - Support for multiple storage backends (In-memory, Redis, DiskCache) - Set TTL as a string (\"2h5m\"), as timedelta or use a function in case TTL depends on key parameters - Transactionality - Middlewares - Client-side cache (10x faster than simple cache with redis) - Bloom filters - Different cache invalidation techniques (time-based or tags) - Cache any objects securely with pickle (use secret) - Save memory size with compression - 2x faster than aiocache (with client side caching) Usage Example More examples here Table of Contents - Configuration - Available Backends - Basic API - Disable Cache - Strategies - Cache condition - Keys templating - TTL - What can be cached - Cache Invalidation - Cache invalidation on code change - Detect the source of a result - Middleware - Callbacks - Transactional mode - Contrib - Fastapi - Prometheus Configuration cashews provides a default cache, that you can setup in two different ways: Alt","default_branch":null,"files":null,"tree":[],"storefront":"/r/Krukov","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Krukov/cashews/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}