页面缓存wsgi中间件

pagecache的Python项目详细描述


wsgi缓存中间件。

pagecache是一个wsgi中间件,可用于缓存完整的响应 来自wsgi应用程序。pagecache在memcached上运行良好,但可以使用 还有其他缓存后端。

pagecache还没有经过广泛的测试,请谨慎使用。

用法

下面是一个简单的示例,让您开始学习:

from pagecache import PageCacheMiddleware

app = ...
cache = memcache.Client(...)
cached_urls = (('/foo', 30, 120), # url prefix, TTL, grace period
               ('/bar', 3600, 60))
app = PageCacheMiddleware(app, cached_urls, cache)

缓存的url

要缓存的url列表在cached_urls列表(或元组)中给出。 此列表的每个条目都是以下格式的元组: (<url prefix>, <TTL in seconds>, <grace period in seconds>)

页面在ttl期间从缓存提供。当TTL周期 宽限期到期。在恩典中的第一个请求 period将重新计算页面并将新结果存储在缓存中。 当计算新结果时,将从 缓存(直到宽限期到期)。这是为了防止 dog-pile effect

缓存对象

pagecache只在memcached中测试过,但它可以在其他缓存中工作 后端也一样。唯一的要求是缓存对象应该具有 以下方法的语义与memcached中的类似: getsetdeleteadd

关于cookies的注释

应用程序返回的所有设置cookie头都将被忽略。 另外,根据您的应用程序,您可能最希望确保 应用程序不使用任何传入的cookie信息来计算 将缓存的响应。

安装

您可以从 github repository

git clone git://github.com/abiczo/pagecache.git
cd pagecache
python setup.py install

待办事项

  • 更多单元测试
  • 缓存URL配置的更好语法
  • 基于regexp的url匹配
  • 可配置的缓存键(以便多个应用程序可以使用相同的 memcached实例,无需担心缓存的url相同)
  • 可配置的请求字符集

欢迎提出修补程序/请求。

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

推荐PyPI第三方库


热门话题
安卓中通过TCP发送时java文件损坏   Java测试预期=异常失败,断言错误   java ssh4 LazyInitializationException   java是否可以在集合中添加重复项?   java是一个免费的开源数据库管理工具   java是否可以在导出的html中嵌入图像   编译器构造解释一些东西,并用Java运行生成的字节码?   java KeyPairGenerator未生成随机密钥   java使用正则表达式生成字符串而不是匹配字符串   java中的多线程线程间通信   具有复合密钥的java Hibernate合并问题   java不能在MainActivity类之外使用SharedReferences变量   正在获取切割/零件异常消息。使用java Spring ControllerAdvice   java tomcat漏洞讨论   javascript在Java中实现“system”命令   java如何在JUnit5*中加载*Spring测试上下文之前获取回调?   java bluej关于缺少返回语句   JavaSpringBoot@ModelAttribute包含使用字符串键的其他模型   从可选中抛出异常。ifPresent()Java 8