TTL Indexes

古城微笑少年丶 2022-06-15 11:08 245阅读 0赞
  1. 一、 Time To Live(TTL) 集合
  2. MongoDB 2.2 引入一个新特性--TTL 集合,TTL集合支持失效时间设置,当超过指定时间后, 集合自动清除超时文档,者用来保存一个诸如session会话信息的时候非常有用。
  3. 如果想使用TTL集合,用用到 expireAfterSeconds 选项
  4. db.ttl.ensureIndex({ "date": new Date() }, { expireAfterSeconds: 3000 })
  5. 限制
  6. + 你不能创建TTL索引,如果要索引的字段已经在其他索引中使用。
  7. + 索引不能包含多个字段。
  8. + 索引的字段必须是一个日期的 bson 类型。
  9. 如果违反了上述三个规则,那么超时后文档不会被自动清除。
  10. MongoDB 后台进程会实时跟踪过去的文档并删除.
  11. 首先我们创建一个索引设置10秒钟后失效:
  12. ```
  13. db.ttl_collection.ensureIndex( { "Date": 1 }, { expireAfterSeconds: 10 } )
  14. ```
  15. ```
  16. db.ttl_collection.insert({
  17. "Date" : new Date()})
  18. ```
  19. 因为我们想象该文档会在10秒后删除,但是实际情况并不是如此的。 因为 mongod 后台任务每分钟检查一次过期文档,因此在事件的处理上总是由一定差异, 但这个差异不会超过1分钟,这也取决于 MongoDB 实例当前的负荷情况。
  20. 你还可以为已存在的集合设置TTL索引。
  21. 能否组织文档白删除?
  22. + 文档被删除之前更新TTL字段。
  23. + TTL 字段设置一个非日期类型的值。

发表评论

表情:
评论列表 (有 0 条评论,245人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MongoDB TTL索引

    > TTL索引是一种特殊类型的单字段索引,主要用于当满足某个特定时间之后自动删除相应的文档。也就是说集合中的文档有一定的有效期,超过有效期的文档就会失效,会被移除。也即是数据会

    相关 ttl计算机,TTL接口

    TTL接口属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端和液晶面板端使用专用的接口电路,而是由驱动板主控芯片输出的TTL数据信号经电缆线直接传送到液晶面

    相关 Zookeeper TTL机制

    Zookeeper TTL机制      键值系统有一个对应用配置很有帮助的特性,可以给每一个键或目录指定一个存活时限(TTL,即Time To Life)。TTL

    相关 ping ,time,TTL详解

    一,什么是ping PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是