{"repo":"Yiling-J/cacheme","free":true,"listed":false,"github":"https://github.com/Yiling-J/cacheme","clone":"git clone https://github.com/Yiling-J/cacheme.git","description":"Asyncio cache framework for Python","language":"Python","stars":46,"topics":["python","cache","asyncio","framework","memory","redis"],"license":"BSD-3-Clause","category":"databases-storage","readme_excerpt":"Cacheme Asyncio cache framework with multiple cache storages. - Organize cache better: Cache configuration with node, you can apply different strategies on different nodes. - Multiple cache storages: in-memory/redis/mongodb/postgres..., also support chain storages. - Multiple serializers: Pickle/Json/Msgpack serializers. - Thundering herd protection: Simultaneously requests to same key are blocked by asyncio Event and only load from source once. - Cache stats API: Stats of each node and colected automatically. - Performance: See Benchemarks section. Related projects: - High performance in-memory cache: https://github.com/Yiling-J/theine Table of Contents - Installation - Add Node - Register Storage - Cacheme API - Cache Node + Key + Meta Class + Serializers + DoorKeeper - Cache Storage + Local Storage + Redis Storage + MongoDB Storage + Sqlite Storage + PostgreSQL Storage + MySQL Storage - How Thundering Herd Protection Works - Benchmarks + continuous benchmark + 200k concurrent requests + 20k concurrent batch requests Requirements Python 3.7+ Installation Multiple storages are supported by drivers. You can install the required drivers with: Add Node Node is the core part of cache. Each node has its own key function, load function and storage options. Stats of each node are collected independently. You can place all node definations into one package/module, so everyone knows exactly what is cached and how they are cached. All cacheme API are based on node. Each node contains:","default_branch":null,"files":null,"tree":[],"storefront":"/r/Yiling-J","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Yiling-J/cacheme/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."}