反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中他缓存。

有关详细信息,请参见下面的注意事项。

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

推荐PyPI第三方库


热门话题
javascript节点js require()和Rhino Shell load()之间的区别是什么?   While循环中的java If语句   java GXT如何在XTemplate中显示treeobject?   如何将黑白图像加载到二进制文件中?   java ORMLite不知道如何存储班级航班。扫描仪。modelFX。机场航空公司的AirlineFx。使用另一个类或自定义持久器   java组织。阿帕奇。德比。客户是SqlException JSP和JSTL查询   spring如何将clob数据分配给java变量   java从上的表获取数据(Spring)   javaphp使用Exec执行带有用户定义参数的Jar文件   java jsonschema2pojo:引用相同类型的对象   使用原语从Scala调用Java vararg方法   java ClassNotFoundException:ClientBuilder Jersey 2.25.1 Tomcat 9.0   Android(Java)cr_BindingManager:无法调用determinedVisibility()从未看到pid的连接:   Java使用LocalTime类比较没有日期的时间   Java如何初始化对象的参数?