mongodb系列~mongodb定时删除数据
一 简介:本文介绍创建自动删除数据的TTL索引
二 目的 定时删除数据
三 创建方法
db.collection.createIndex(keys, options)
options:
expireAfterSeconds 指定多少秒或者包含日期值的数组
创建示例
db.eventlog.createIndex( { "lastModifiedDate": 1 }, { expireAfterSeconds: 3600 },{backgroup: true})
四 何时失效
1 在指定的时间达到后失效,也即是索引字段的值加上一个特定的秒数之后
2 如果索引字段是一个数组,即索引字段上存在着多个日期值,此时MongoDB取最小值加上失效时间(lowest())
3 对于非日期字段或不包含日期数组的索引字段,文档不会失效
4 对于不包含索引字段的文档,文档不会失效
五 删除操作
1 mongod的一个后台线程会读取索引的值并将失效的文档从集合移除
2 当TTL线程被激活后,可以从db.currentOp()或者从profile观察到删除操作
六 何时删除
1 当基于后台方式创建索引时,TTL线程能够在索引创建期间开始删除失效文档
2 当基于前台方式创建索引时,TTL线程在索引创建完成后开始删除失效文档
3 TTL索引的删除不能完全保证失效期后一定删除,存在一定延迟(取决于mongod的工作负载)
4 TTL删除文档后台线程每60s移除失效文档(因此可能存在已过失效期,文档还在的情形)
5 在副本集环境中,TTL后台线程仅仅在主副本上工作,辅助副本上由复制操作实现
6 在使用TTL索引查询时,与使用非TTL索引一样
七 一些限制
1 不能基于已经存在索引的字段创建TTL索引以及非日期字段创建TTL索引,文档不会失效
2 TTL索引不支持基于多个字段的复合索引
3 不支持定长集合
本文系转载文章来源 https://blog.csdn.net/leshami/article/details/61195427
mongodb系列~mongodb定时删除数据的更多相关文章
- mongodb定时删除数据(索引删除)
一 简介:本文介绍创建自动删除数据的TTL索引 二 目的 定时删除数据三 创建方法 db.collection.createIndex(keys, options) options: ex ...
- CRL快速开发框架系列教程四(删除数据)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 【转】ElasticSearch之定时删除数据
有的时候我们在使用ES时,由于资源有限或业务需求,我们只想保存最近一段时间的数据,所以有如下脚本可以定时删除数据 delete_es_by_day.sh #!/bin/sh # example: in ...
- MongoDB 学习笔记之 删除数据,集合,数据库
删除数据,集合,数据库: 删除一个文档: db.media.deleteOne({"name": "Sky"}) 删除多个文档: db.media.delete ...
- mongodb系列~mongodb数据迁移
一 简介:今天来聊聊mongo的数据迁移二 迁移 1 具体迁移命令 nohup mongodump --port --db dbname --collection tablename --qu ...
- mongodb系列~mongodb集群介绍与管理
mongodb 集群维护1 简介 谈谈mongodb的集群架构2 常用的维护命令 1 查看状态 sh.status() 1 version 2 shards: ...
- mongodb系列~mongodb的副本集(1)
一 简介: mongodb副本集 二 复制方式: 1 全量复制 2 增量复制三 同步检测过程: 一 正常情况下: 1 master执行语句,并将所有的修改数据库的操作以日志Oplog ...
- mongodb系列~ mongodb慢语句(3)
简介: 关于mongodb慢日志是如何收集 一 mongodb慢日志的开启 1 直接设置参数,不重启服务:db.setProfilingLevel(1) 2 添加启动参数,重启服务:添加profile ...
- mongodb系列~mongodb慢语句(2)
一简介:今天遇到一个慢日志的排查和解决过程 二 版本:3.0.6 三 架构:分片集群 四 具体过程 1 程序响应很慢,具体日志寻找定点sql(mongodb慢日志记录在log日志里) awk '$NF ...
随机推荐
- Python基础语法总结
1.Python标识符 在 Python 里,标识符有字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分大 ...
- Luogu P4070 [SDOI2016]生成魔咒
题目链接 \(Click\) \(Here\) 其实是看后缀数组资料看到这个题目的,但是一眼反应显然后缀自动机,每次维护添加节点后的答案贡献即可,唯一不友好的一点是需要平衡树维护,这里因为复杂度不卡而 ...
- linux文件或目录权限修改后如何恢复(备份了权限就能恢复)
操作系统 RHEL5 如果你在linux上执行了如下操作chmod -R 777 / 或者 chmod -R 700 /那么恭喜你,你的系统即将崩溃,重启之后,你进不了图形界面,而且很多服务都起不来 ...
- C++ vector的运用
C++ vector 用法(#include <vector>) 标准库Vector类型 使用需要的头文件: #include <vector> Vector:Vector 是 ...
- python自动化开发-[第十天]-线程、协程、socketserver
今日概要 1.线程 2.协程 3.socketserver 4.基于udp的socket(见第八节) 一.线程 1.threading模块 第一种方法:实例化 import threading imp ...
- RocketMQ_问题_启动报错,修改堆内存大小
1.启动broker报错 虚拟机内存小,导致虚拟机中的JVM内存小,进而在启动broker时分配JVM内存遇到问题 查询网上得知,查看/usr/local/rocketmq-all-4.3.0/dis ...
- nginx之代理websocket
nginx代理websocket:NGINX通过允许一个在客户端和后端服务器之间建立的隧道来支持WebSocket.为了NGINX发送来至于客户端Upgrade请求到后端服务器,Upgrade和Con ...
- 4.Zuul-限流
令牌桶 限流流程图: RateLimitFilter : package com.wangfajun.filter; import com.alibaba.fastjson.JSON; import ...
- Hadoop记录-Federation联邦机制
在Hadoop2.0之前,HDFS的单NameNode设计带来诸多问题: 单点故障.内存受限,制约集群扩展性和缺乏隔离机制(不同业务使用同一个NameNode导致业务相互影响)等 为了解决这些问题, ...
- 解决Navicat 出错:1130-host . is not allowed to connect to this MySql server,MySQL
1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 " ...