为金字塔集成dogpile.cache

pyramid-dogpile-cache2的Python项目详细描述


棱锥形堆缓存2

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

小型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函数参数和 为包含类名的方法生成缓存键。

更改棱锥图缓存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)

  • 初次发布。

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

推荐PyPI第三方库


热门话题
java静态工厂方法如何推断泛型?   Java中长整数与简单整数的比较   java无法使用JPA创建映射实体   java如何尽早停止处理JSP?   java错误:变量可能尚未初始化?   启用安全性时,WAS 855中的java Mbean调用因凭据为空而失败   java如何获取上次拆分后的最后时间间隔?   在java中删除所选图像   来自Guava EventBus订阅服务器的java抛出异常   java抑制异常作为收集多个异常的方法   java重新启动ScheduledExecutorService计划任务的正确方法是什么?   java为什么我得到org。冬眠HibernateeException:未配置CurrentSessionContext   将mouseListener添加到BuffereImage时发生java错误   java如何从<application>   java我一直收到一个错误,说“无法从int转换为Drawable”。我正在尝试将图像分配到位置。有办法解决这个问题吗?   java Android Jsoup证书问题   java Spring找不到HTTPrequest的映射