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

Mongodb设置TTL索引自动清除数据与过期数据的方法

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

Mongodb设置TTL索引自动清除数据与过期数据的方法

Mongodb通常会被用来存储缓存数据或大尺寸、低价值的数据,对于这些类型的数据,数据量往往非常大,如果不定期清理,不但会影响性能,也会浪费大量的系统资源。

Mongodb其实可以像Redis一样设置数据的过期时间,TTL索引是MongoDB中一种特殊的索引,可以支持文档在一定时间之后自动过期删除,目前TTL索引只能在单字段上建立。

当你在集合中某一个字段建立TTL索引后,后台会有一个单线程,通过不断查询(默认60s一次)索引的值来判断document是否有过期,并且删除文档的动作还依据mongod实例的负载情况,如果负载很高,可能会稍微延后一段时间再删除。

创建TTL索引方法:

和普通索引的创建方法一样,只是会多加一个属性而已

例:在log_events的集合中,createTime 字段上建立一小时后过期的TTL索引


db.log_events.createIndex( { "createTime": 1 },   ---字段名称  
  { expireAfterSeconds: 60*60 } )         ---过期时间(单位秒)

免责声明:

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

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

Mongodb设置TTL索引自动清除数据与过期数据的方法

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

下载Word文档

猜你喜欢

mongodb自动删除过期数据怎么设置

在MongoDB中,可以使用TTL(Time-To-Live)索引来自动删除过期数据。TTL索引是一种特殊的索引类型,它在指定的时间后自动删除文档。要设置TTL索引来自动删除过期数据,首先需要在集合中创建一个TTL索引,并指定一个字段来表
mongodb自动删除过期数据怎么设置
2024-04-10

编程热搜

目录