pok*_*tad 5 python couchdb redis key-value-store
CouchDB有没有像Redis一样过期?
Redis的示例到期:
#!/usr/bin/env python
import redis
redis_server = redis.Redis(host='localhost',port=5477,db=0)
r.set('cat','meow')
r.expire('cat',10)
# do some work and ten seconds later...
r.get('cat') # returns None
Run Code Online (Sandbox Code Playgroud)
Redis使用惰性方法并在检查密钥时删除它们,即使它们可能已经过早地过期了.此外,正如@antirez所指出的,Redis将每隔一秒左右删除一组随机过期的密钥,以保持数据库大小的控制.
如果CouchDB本身不支持此功能,您可以在对象上添加一个小图层来完成这项工作.添加到期字段,在尝试检索对象时,确保将来到期.如果没有,删除过期的对象.此外,由于已删除的对象必须保留(因此可以复制删除操作),您还需要定期查找已删除的文档并清除它们.