为金字塔集成dogpile.cache
pyramid-dogpile-cache2的Python项目详细描述
棱锥形堆缓存2
小型dogpile.cache配置和访问包。它的灵感来自 pyramid_dogpile_cache,我们发现它不可用,因为它坚持 在其get_region()api中配置缓存区域–但是如果您想 使用@cache_on_argumentsdecorator,即在import time,其中no 配置仍然存在。我们的包希望在 取而代之的是wsgi应用程序设置。
此包与Python2.7和3版兼容(>;=3.4)。
使用量
包只提供一个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
设置/棱锥
包括软件包,代码:
config = Configurator(...) config.include('pyramid_dogpile_cache2')
或者在ini文件中:
pyramid.includes = pyramid_dogpile_cache2
设置/粘贴
对于使用paste.ini文件的非棱锥型wsgi应用程序,您需要调用:
def my_paste_app_factory(global_conf, **local_conf): pyramid_dogpile_cache2.configure_dogpile_cache(local_conf) return my_wsgi_callable
设置
金字塔堆缓存的设置支持很不幸是不完整的 (例如,它甚至不将expiration_time转换为int)。支持 这个包稍微好一点,但仍然非常不完整:我们支持 内存和memcached后端(精确地说是pylibmc),并且只有相同的 所有缓存区域的后端和配置。
支持以下设置:
dogpile_cache.regions
A list of region names that should be configured (separated by either spaces or commas).
dogpile_cache.backend
The default backend for cache regions (e.g. ^{tt8}$, ^{tt9}$, etc.).
dogpile_cache.REGION.backend
Backend for the given region.
dogpile_cache.expiration_time
The default expiration time. Can be overridden for individual regions (in seconds).
dogpile_cache.REGION.expiration_time
The expiration time for the given cache region (in seconds).
dogpile_cache.arguments.*
Defaults for backend arguments. Can be overridden for individual regions.
dogpile_cache.REGION.arguments.*
Backend arguments for the given cache region.
后端参数只对字符串有效,因此我们支持一些自定义处理:
dogpile_cache.pylibmc_url
A list of memcached servers, separated by ^{tt16}$.
dogpile_cache.pylibmc_behavior.*
Set pylibmc behaviours, see coerce_memached_behaviors for which subkeys are supported.
注意:与金字塔狗堆缓存相反,我们不支持重写 密钥生成器或密钥管理器功能还没有;我们用增强的 支持非ascii函数参数和 为包含类名的方法生成缓存键。
开发金字塔Dogpile缓存2
Author: | Zeit Online |
---|---|
PyPI page: | https://pypi.python.org/pypi/pyramid_dogpile_cache2 |
Issues: | report by e-mail |
Source code: | https://github.com/zeitonline/pyramid_dogpile_cache2 |
Current change log: | |
https://github.com/zeitonline/pyramid_dogpile_cache2/blob/master/CHANGES.txt |
更改棱锥图缓存2的日志
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)
- 初次发布。