页面缓存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第三方库


热门话题
java连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中