ASGI应用程序的服务器端HTTP缓存,灵感来自Django的缓存框架
asgi-caches的Python项目详细描述
asgi缓存
asgi-caches
提供用于向ASGI应用程序添加服务器端HTTP缓存的中间件和实用程序。它由^{
文档可在:https://asgi-caches.florimond.dev
Note:此项目处于“alpha”状态。一些特性仍然需要实现,您应该期望在小版本中中断API更改。在
特点
- 与任何ASGI应用程序兼容(例如Starlette、FastAPI、Quart等)。在
- 支持应用程序范围或每端点缓存。在
- 能够将缓存行为(TTL、缓存控制)微调到端点级别。在
- 通过与
async-caches
松散耦合启用的干净和显式API。在 - 完全键入批注。在
- 100%测试覆盖率。在
安装
pip install "asgi-caches==0.*"
快速启动
^{pr2}$这个例子:
- 设置内存缓存(有关详细信息,请参阅async-caches docs)。在
- 设置一个应用程序(在本例中,是一个原始ASGI'Hello,world!'应用程序)。在
- 对整个应用程序应用缓存。在
要了解更多信息,请前往documentation。在
学分
Django开发人员和维护人员应该得到应有的赞扬,因为很多API和实现都直接受到Django cache framework的启发。在
许可证
麻省理工学院
变更日志
这个项目的所有显著变化都将记录在这个文件中。在
格式基于Keep a Changelog。在
0.3.1-2019年11月23日
更改
- 不允许多次应用缓存中间件。(拉动21)
0.3.0-2019年11月12日
添加
- 添加
@cache_control()
装饰器及其底层中间件。(拉动19)
0.2.0-2019年11月12日
添加
- 添加
@cached()
装饰器。(拉力15)
0.1.1-2019年11月12日
添加
- 添加
DEBUG
和TRACE
日志。(拉动14)
0.1.0-2019年11月12日
添加
- 添加
CacheMiddleware
。(拉动8) - 当Cookie的响应没有缓存请求时,阻止缓存。(拉动9)
- 如果缓存TTL为零,则阻止缓存响应。(拉动10)
- 项目
标签: