ASGI应用程序的服务器端HTTP缓存,灵感来自Django的缓存框架

asgi-caches的Python项目详细描述


asgi缓存

Build StatusCoveragePackage version

asgi-caches提供用于向ASGI应用程序添加服务器端HTTP缓存的中间件和实用程序。它由^{}驱动,并受到Django的缓存框架的启发。在

文档可在: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日

添加

  • 添加DEBUGTRACE日志。(拉动14)

0.1.0-2019年11月12日

添加

  • 添加CacheMiddleware。(拉动8)
  • 当Cookie的响应没有缓存请求时,阻止缓存。(拉动9)
  • 如果缓存TTL为零,则阻止缓存响应。(拉动10)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java RFID不完整输出?   java如何构造一个for循环来查找每个数组的第一个索引的总和   java Eclipse AST解析器正在删除我的规则   安卓如何在java中创建“可重写”配置?   java每次我向应用程序添加图像时,它都会崩溃   Java 8流到文件   EntityNotFoundException的java可能原因   java多线程为什么下面的程序表现得如此怪异?   java footprint soap api+mavenjaxb2plugin   java MongoDB锁定,直到找到结果   java重写Jtable选项卡行为转到下一个可编辑单元格   java关于方法和创建另一个方法   java将人脸与图像分离   java复制Spring批处理作业实例   java TextView不会更改为新设置的文本