重置/更新Couchbase coun的TTL

2024-04-23 22:31:47 发布

您现在位置:Python中文网/ 问答频道 /正文

(这是一个非常简单的问题,可以通过尝试来回答,但是由于文档没有明确说明,所以我想在这里记录它)

当我设置一个新的TTL'd couchbase计数器(例如,在python中使用incr()),然后用另一个TTL值重新-incr()计数器时,密钥的TTL是否会重置为新值?在

还有另一个问题:

如果我运行以下代码:

cb.incr(key='mykey',amount=1,initial=1,ttl=10) //10 seconds TTL
cb.incr(key='mykey',amount=1,initial=1,ttl=100) //will this update the TTL?

密钥会在10秒或100秒后过期吗?在

python库文档:http://docs.couchbase.com/sdk-api/couchbase-python-client-1.2.3/api/couchbase.html


Tags: key文档api记录计数器密钥amountinitial
2条回答

所以答案是否定的:对incr()的第二次调用不会更新TTL,但会成功地增加计数器。在

更确切地说,API()不是单独设置的。例如,下面的代码

print cb.set('hello',{'hi':'there'},ttl=1)
print cb.set('hello',{'hi':'there'})

将生成一个非TTL'd doc-第二次调用set()将删除TTL。在

不,第二个incr操作不会更新TTL。如果确实要更改TTL,请使用touch命令。在

注意这与原始memcached协议的行为相匹配-请参见示例How does incr work with expiry times?

相关问题 更多 >