跳转到主要内容

集成了dogpile.cache用于Pyramid

项目描述

pyramid_dogpile_cache2

https://travis-ci.org/ZeitOnline/pyramid_dogpile_cache2.png

小型dogpile.cache配置和访问包。它受到pyramid_dogpile_cache的启发,我们发现它不可用,因为它坚持在其get_region() API中配置缓存区域 – 但如果您想使用@cache_on_arguments装饰器,那么它是在import time中,那时还没有配置。我们的包希望在WSGI应用程序设置期间进行配置。

此包与Python版本 >=3.6 兼容。

用法

该包只提供了一个API函数;它返回一个dogpile.cache CacheRegion

from pyramid_dogpile_cache import get_region
region = get_region('foo')

如上所述,在导入时间调用它是安全的,因此您可以继续这样做

@region.cache_on_arguments()
def expensive_function(one, two, three):
    # compute stuff

设置 / Pyramid

在代码中包含包

config = Configurator(...)
config.include('pyramid_dogpile_cache2')

或ini文件中

pyramid.includes = pyramid_dogpile_cache2

设置 / Paste

对于使用paste.ini文件的非Pyramid WSGI应用,您需要调用

def my_paste_app_factory(global_conf, **local_conf):
    pyramid_dogpile_cache2.configure_dogpile_cache(local_conf)
    return my_wsgi_callable

设置

遗憾的是,pyramid_dogpile_cache对设置的支撑相当不完整(例如,它甚至无法将expiration_time转换为int)。此包的支持稍微好一些,但仍然非常不完整:我们支持内存和memcached后端(具体为pylibmc),并且所有缓存区域都使用相同的后端和配置。

以下设置受支持

dogpile_cache.regions

应配置的区域名称列表(由空格或逗号分隔)。

dogpile_cache.backend

缓存区域的默认后端(例如'dogpile.cache.memory'dogpile.cache.pylibmc等)。

dogpile_cache.REGION.backend

给定区域的后端。

dogpile_cache.expiration_time

默认过期时间。对于单个区域可以覆盖(以秒为单位)。省略则不设置过期时间。

dogpile_cache.REGION.expiration_time

给定缓存区域的过期时间(以秒为单位)。如果省略,则使用全局的expiration_time设置。

dogpile_cache.arguments.*

后端参数的默认值。对于单个区域可以覆盖。

dogpile_cache.REGION.arguments.*

给定缓存区域的后端参数。

后端参数仅对字符串有效,因此我们支持一些自定义处理

dogpile_cache.pylibmc_url

由分号分隔的memcached服务器列表。

dogpile_cache.pylibmc_behavior.*

设置pylibmc行为,参见coerce_memached_behaviors以了解哪些子键受支持。

注意:与pyramid_dogpile_cache不同,我们目前不支持覆盖key_generator或key_mangler函数;我们使用增强版的dogpile.cache预配置它们,支持非ascii函数参数,并为包含类名的方法生成缓存键。

开发pyramid_dogpile_cache2

作者::

Zeit Online

PyPI页面::

https://pypi.python.org/pypi/pyramid_dogpile_cache2

问题::

通过电子邮件报告

源代码::

https://github.com/zeitonline/pyramid_dogpile_cache2

当前变更日志::

https://github.com/zeitonline/pyramid_dogpile_cache2/blob/master/CHANGES.txt

pyramid_dogpile_cache2的变更日志

1.1.2 (2022-07-15)

  • 在配置期间清除内部_actual_backend,以提高测试隔离性

1.1.1 (2020-09-11)

  • 忽略空的pylibmc_url设置

1.1.0 (2020-07-28)

  • 移除Python-2兼容性,更新到dogpile.cache>=1.0

1.0.6 (2019-11-08)

  • 允许配置完全不设置过期时间

1.0.5 (2018-12-14)

  • 明确Python-3兼容性(它是>=3.4,而不仅仅是3.4)

1.0.4 (2018-11-21)

  • 支持Python 3上带有类型注解的缓存函数(见PR #5)。

1.0.3 (2017-02-14)

  • 修复打包问题(见PR #2)。

1.0.2 (2016-08-01)

  • 将API兼容性更新到dogpile.cache-0.6.0。

1.0.1 (2016-01-20)

  • 实际上将类名包含在方法的缓存键中。

1.0.0 (2016-01-19)

  • 初始发布。

项目详情


下载文件

为您的平台下载文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

pyramid_dogpile_cache2-1.1.2.tar.gz (9.8 kB 查看哈希)

上传于

由以下支持