我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【MongoDB】TTL时效集合

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【MongoDB】TTL时效集合

    TTL索引(time to live index,具有生命周期的索引),这种索引允许为每一个文档设置一个超时时间。一个文档到达预设置的老化程度之后就会被删除。这种类型的索引对于缓存问题(比如会话的保存)非常有用。


    在创建索引的时候,顺便指定expireAfterSeconds选项就可以创建一个TTL索引,该集合也就属于TTL集合了。

// 创建TTL索引, 设置超时时间为24小时
db.ttl.ensureIndex({date:1},{expireAfterSeconds:24*60*60});


    这样就在"date"字段上创建了一个TTL索引。如果一个文档的"date"存在并且它的值是日期类型,当服务器时间比文档的"date"字段的时间晚expireAfterSeconds秒时,文档就会被删除。


    为了防止活跃的会话被删除,可以在会话上有活动发生时将"date"字段更新为当前时间。只要"date"距离当前时间达到24小时,文档就会被删除。


    MongoDB每分钟对TTL索引进行一次清理,所以不应该依赖以秒为单位的时间来保证索引的存活状态。可以使用collMod命令来更改expireAfterSeconds的值:

db.runCommand(
    {
        collMod:"ttl",
        index:{
            keyPattern:{date:1}, 
            expireAfterSeconds:3600
        }
     }
)


    在一个给定的集合上可以有多个TTL索引。TTL索引不能是复合索引,但是可以像普通索引一样用来优化排序和查询。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【MongoDB】TTL时效集合

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MongoDB时序集合怎么应用

MongoDB时序集合是一种特殊的集合类型,用于存储时间序列数据。时序集合在MongoDB 5.0版本中引入,旨在提供高效的时间序列数据存储和查询功能。时序集合可以应用于以下场景:监控系统:时序集合适用于存储监控系统生成的时间序列数据,例
MongoDB时序集合怎么应用
2024-05-07

mongodb怎么修改集合名称

要修改MongoDB中的集合名称,可以使用db.collection.renameCollection()方法。以下是如何修改集合名称的示例:db.collection.renameCollection("newCollectionNam
mongodb怎么修改集合名称
2024-04-09

mongodb怎么删除数据集合

在MongoDB中,要删除一个数据集合,可以使用db.collection.drop()方法。例如,要删除一个名为"users"的数据集合,可以按照以下方式进行操作:1. 打开MongoDB的命令行界面或MongoDB Compass等Mo
2023-09-12

定期自动轮换 MongoDb 集合

php小编子墨定期自动轮换MongoDb集合是一种优化数据库性能的有效方法。通过定期轮换集合,可以避免数据过度增长导致的性能下降问题。轮换过程中,可以将旧的集合归档或删除,同时创建新的集合来存储最新的数据。这样可以保持数据库的整洁和高效,提
定期自动轮换 MongoDb 集合
2024-02-09

mongodb怎么获取集合大小

在MongoDB中,可以使用`db.collection.stats()`方法来获取集合的大小。该方法返回一个包含集合大小等统计信息的文档。例如,如果想获取名为`myCollection`的集合的大小,可以运行以下命令:```db.myCo
2023-08-30

编程热搜

目录