反dogphidded缓存的通用和特定实现
antidogpiling的Python项目详细描述
使用反dogphidded django后端
反dogphidded django后端的配置类似于django自己的后端。有关详细信息,请参见django文档中的设置缓存。
django 1.2
只需将cache_backend设置设置为指向正确的模块。示例:
CACHE_BACKEND = 'antidogpiling.django.memcached://127.0.0.1:11211/' CACHE_BACKEND = 'antidogpiling.django.filebased:///var/tmp/django_cache'
django 1.3+
只需将 backend 引用替换为相应的反dogphidded backend。例如:
CACHES = { 'default': { 'BACKEND': 'antidogpiling.django.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211'. }, }
配置选项
有关如何指定缓存选项,请参见django文档中的缓存选项设置。
使用硬超时因子控制硬超时相对于软超时的长度。默认值是8,因此默认情况下,硬超时比软超时长8倍。(该点不能指定确切的硬超时,而是要确保值在缓存中保留足够的时间,以使反dogpilling生效,并使未使用的值最终从缓存中消失。)
使用 default_grace_time 选项为 续订设置超时(以秒为单位) 一个软超时值。在此期间之后,将允许另一个客户端尝试生成新值。默认值为60秒。也可以使用 add 和 set 方法上的 grace-time 参数为每个调用指定宽限时间。
django 1.3+的示例:
CACHES = { 'default': { 'BACKEND': 'antidogpiling.django.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211'. 'OPTIONS': { 'hard_timeout_factor': 100, 'default_grace_time': 10, }, }, }
客户端使用
add 、 get 、 set 和 delete 方法工作正常,除了设置或无效的超时是软超时,而不是硬超时。要影响硬超时并且不应用任何反dogpilling,请使用 add 、 set 和 delete 方法上的 hard=true 参数。
注意: 在设置要与 incr 和 decre 方法一起使用的整数时,必须使用 hard=true 。递增和递减要求原始整数存储在t中他缓存。
有关详细信息,请参见下面的注意事项。