mongo学习-TTL索引 过期数据】的更多相关文章

在mongo中我们可以设置文档的过期时间,超过时间,文档会自动删除.(2.x版本中  固定结合也支持,但是到了3.x中 固定集合这个索引不好用) 用法: 1.创建一个db:db.createCollection("test"): 2.创建一个表并且放入数据 db.test.insertMany([{ "name" : "3", "ldate" : ISODate("2018-08-10T06:37:56.372Z&q…
因为,如果要创建唯一索引,那么如果这个值有好几个为Null的,所以也会导致我们创建索引失败,那么我们可以引进系数索引这个概念,它可以做到,支持如果值存在的情况,它必须是唯一的,我们可以 将 unique和sparse组合一起使用,所以查询的时候,就会查询这个字段有值的文档,如果还想查询Null的文档的话,只能使用 hint 扫描全表. db.aaaa.createIndex({"name":1},{"unique":true,"sparse":t…
db.log_events.find()                                     # 查找log_events里的所有数据   db.log_events.createIndex( { "LogDT": 1 }, { expireAfterSeconds: 3600 } )                              #设置log_events里的TTL过期索引清理时间为3600秒   db.runCommand( { collMod: &…
  前序: 由于公司业务需求,对于3个月前的过期数据需要进行删除动作,以释放空间和方便维护 本来想的是使用crontab写个脚本定时执行,但是看到Mongo本身就有自动删除过期数据的功能,所以还是用一下吧 这个方法就是使用TTL索引,后续我再写一个脚本定时删除的任务 介绍: TTL索引是MongoDB中一种特殊的索引, 可以支持文档在一定时间之后自动过期删除,目前TTL索引只能在单字段上建立, 并且字段类型必须是date类型或者包含有date类型的数组(如果数组中包含多个date类型字段,则取最…
TTL索引: TTL集合支持mongodb对存储的数据进行失效时间设置,经过指定的时间段后.或在指定的时间点过期,集合自动被mongod清除.这一特性有利于对一些只需要保存一定时间的数据信息进行存储,比如机器产生的事件数据.日志.会话信息等. 先创建一个集合TTLCol: 创建TTL索引,60秒过期. 60秒后查询发现数据被删除了. 部分索引: MongoDB部分索引只为那些在一个集合中,满足指定的筛选条件的文档创建索引.由于部分索引是一个集合文档的一个子集,因此部分索引具有较低的存储需求,并降…
-背景: 鉴于我们使用mongo作为数据库,期间少不了需要添加索引和对业务表进行设计.因此以下我对mongo索引及表设计原则做了一些分享.希望对大家有用,如有错误还望指正~ MongDB的索引类型简介: -单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 1,单建索引 db.table.createIndex({"user_id":1}) 1:升序 -1:降序 使用说明:只要查询中包含user_id即可使用索引 无论是在find条件中 还是在sort中 1,-1都会使用…
回到占占推荐博客索引 bootstrap已经用了有段时间了,感觉在使用上还是比较容易接受的,在开发人员用起来上,也还好,不用考虑它的兼容性,手机,平台,PC都可以有效的兼容. bootstrap官方api:http://v3.bootcss.com/ Bootstrap~学习笔记索引 Bootstrap~页面的布局 Bootstrap~Panel和Table Bootstrap~表单Form Bootstrap~日期控制 Bootstrap~多级导航(级联导航)的实现 Bootstrap~大叔封…
索引 索引能够提升查询的效率.没有索引,MongoDB必须扫描集合中的所有文档,才能找到匹配查询语句的文档. 索引是一种特殊的数据结构,将一小块数据集保存为容易遍历的形式.索引能够存储某种特殊字段或字段集的值,并按照索引指定的方式将字段值进行排序. 然而使用索引也是有代价的:对于添加的每一个索引,每次的插入.更新.删除都将会消耗更多的时间.这是因为当数据发生变动时,数据库不仅要更新文档,还要更新集合上的所有索引. MongoDB限制每个集合上最多只能由64个索引. 使用索引键对文档进行排序可以提…
import pymongo mongo = pymongo.Connection('localhost') collection = mongo['database']['user'] collection.ensure_index('user_name', unique=True) 利用python 在mongo中建立索引…
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017-04-07 22:47) docker~docker-machine的介绍(2017-04-12 12:02) docker~使用阿里加速器安centos(2017-04-13 10:16) docker~大叔对术语的解释(2017-06-18 19:19) docker~Dockerfile优化…
TTL索引是mongodb新支持的用于延时自动删除记录的一种索引.它仅包含一个字段,该字段值需要是Date()类型,并且不支持复合索引.可以指定某条记录在延时固定时间后自动删除.数据自动超时删除主要用在系统生成的事件.日志或者会话信息等不需要永久存储的数据. 创建语法 在集合eventlog的字段"lastModifiedDate"上创建延时1小时自动删除的TTL索引,其中"expireAfterSeconds"是超时字段,单位是秒. 数据超时 TTL索引会按设置的…
[笔记]MySQL学习之索引 一 索引简单介绍 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可. 普通索引:仅加速查询 唯一索引:加速查询 + 列值唯一(可以有null) 主键索引:加速查询 + 列值唯一 + 表中只有一个(不可以有null) 组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并 全文索引:对文本的内容进行分词,进行搜索 索引合并:使用多个单列索引组合搜索 覆盖索引:s…
目录 一.TTL索引介绍 二.TTL索引运行逻辑 三.TTL索引的限制 四.TTL索引的使用场景 1. 指定具体的过期时间属性 2. 插入一个具体的过期时间 3. TTL属性的修改(collMod) 五.Date类型 六.参考文档 一.TTL索引介绍 TTL全称是(Time To Live),TTL索引能对一个单列配置过期属性来实现对文档的自动过期删除,我们可以在对字段创建索引时添加expireAfterSeconds选项将索引转换为TTL索引,该字段需要是date类型,在以下几种场景下即使索引…
看的是爱酷学习网的视频:http://www.icoolxue.com/album/show/98 01 安装 1.先建mongoDB-data文件夹存数据 2.安装DB 3.设置环境变量:把bin目录:D:\mongodb\bin,添加到path下(:D:\mongodb\bin),好处是可以直接在cmd的命令行中输入mongod运行(这样也可检测),如果不设置环境变量,需要cd到当前目录下才能mongodb 启动 使用批处理文件来启动mongoDB,mongod.exe -dbpath d:…
1 mongo的安装 1.添加MongoDB安装源 1.添加MongoDB安装源vim /etc/yum.repos.d/mongodb-enterprise.repo 将下列配置项写入文件 [mongodb-enterprise] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/stable/$basearch/ gpgch…
引子 最近做项目利用mongo记录的日志做数据统计.着了非关系型数据库的迷,于是乎买了本<MongoDB实战>学习了一番.记录一下学习笔记,共享之. 准备 我在自己的Linux服务器上装了最新版的Mongo.记录一下安装链接还有一个遇到的问题. Linux安装mongo https://blog.51cto.com/13641879/2141129 我想看数据库状态的时候遇到了一个权限问题 > db.serverStatus() { "ok" : 0, "e…
这篇接着我们的索引学习系列,这次主要来分享一些有关聚集索引的问题.上一篇SQL索引学习-索引结构主要是从一些基础概念上给大家分享了我的理解,没有实例,有朋友就提到了聚集索引的问题,这里列出来一下: 其实,我想知道的就是对于一个大数据量的表,我应该用哪种索引,各有什么优缺点.如果能带一两个实例,就更perfect了. 看过很多这样文章,但具体还是不知道如何设计表和优化,比如:聚集和非聚集, 唯一与主键, 设计表事该如何取舍.应该有示例说明,这更容易理解,只是概念即使理解了也不容易消化. 上面两位朋…
mysql语句 : ' ,,),(,,)   mongo语句: db.}}).limit() db."}) db.}}) 条件操作符1 mongodb中的条件操作符有: (>) 大于 - \$gt #greate (<) 小于 - \$lt #low (>=) 大于等于 - \$gte #equal (<= ) 小于等于 - \$lte 范例: > db.shiyanlou.find({user_id:{$gt:1}}) > db.shiyanlou.find…
Github, Soundcloud, FogCreek, Stackoverflow, Foursquare,等公司通过elasticsearch提供搜索或大规模日志分析可视化等服务.博主近4个月搜索数以百计的内容,甄选了以下有用的中英文slides以及blogs或相关的学习网站分享出来, 内容包括分布式索引与搜索服务Elasticsearch, logstash,数据可视化服务Kibana的学习资源,可以极大减少入门ELK的时间成本: 1.ELK整体介绍(Elasticsearch + Lo…
创建索引 当我们需要确保索引被创建在适当数量的分片上,在索引数据之前设置好分析器和类型映射. 手动创建索引,在请求中加入所有设置和类型映射,如下所示: PUT /my_index { "settings": { ... any settings ... }, "mappings": { "type_one": { ... any mappings ... }, "type_two": { ... any mappings ..…
spring data mongo 打印mongo NoSql语句 log4j.properties log4j.rootLogger=INFO, stdout log4j.logger.org.springframework.data.mongodb.core=DEBUG, mongodb log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.ap…
from:  http://www.w3c.com.cn/%E5%BC%80%E6%BA%90%E5%88%86%E5%B8%83%E5%BC%8F%E6%90%9C%E7%B4%A2%E5%B9%B3%E5%8F%B0elkelasticsearchlogstashkibana%E5%85%A5%E9%97%A8%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%BA%90%E7%B4%A2%E5%BC%95 Github, Soundcloud, FogCreek, Stackov…
背景,随着mongo数据量变大,查询效率变低,要对索引进行优化,所在公司对mongo依赖比较严重,而DBA并不对mongo的权限做控制,所以每个后端开发都有mongo的读写权限,通常每个人各自管理自己的模块的数据. 由于笔者所负责的模块数据增长较快,用户的关键业务数据都存在mongo里面,很快mongo里面的数据就积累到几百万,之前只有一个五个字段的联合索引,所以是时候作死了... 本着作死要有条不紊有依有据的原则,在测试数据库接近百万数据量的相同Collection里面进行了实操,阻塞方式加索…
回到目录 索引这个东西大家不会陌生,只要接触到稍微大一点的数据,都会用到这东西,它可以提升查询的速度,相当代价就是占用了更多的存储空间,这也是正常的,符合“能量守恒定理”,哈哈!今天说的是MongoDB里的索引,在我进行对500万数据进行查询测试时,发现如果你的查询字段不加索引,那是相当恐怖的,一个简单的查询(单字段)要耗时30多秒,这种操作,基本可以认为服务器挂了,哈哈!当为字段加了索引之后,查询速度为ms级,100毫秒以内的速度真是把经兴奋坏了,呵呵! 建立索引 db.tableName.e…
一.索引基础:    MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令:    > db.test.ensureIndex({"username":1})    可以通过下面的名称查看索引是否已经成功建立:    > db.test.getIndexes()    删除索引的命令是:    > db.test.dropIndex({"username":1})    在MongoDB中,我们…
索引(index)和管理索引 模式中的一个数据库对象 作用:在数据库中用来加速对表的查询 创建:自动在主键和唯一键上面创建索引 通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O 与表独立存放,但不能独立存在,必须属于某个表 由数据库自动维护,表被删除时,该表上的索引自动被删除 索引的作用类似于书上的目录,几乎没有一本书没有目录,因此几乎没有一张表没有索引 索引:在经常查询的字段上面建立索引,利用index对查询进行优化,(index可以避免对表的一个全面扫描) 原理:当以某个字段建立一个…
一.索引基础:    MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令:    > db.test.ensureIndex({"username":1})    可以通过下面的名称查看索引是否已经成功建立:    > db.test.getIndexes()    删除索引的命令是:    > db.test.dropIndex({"username":1})    在MongoDB中,我们…
U3D UGUI学习1 - 层级环境 U3D UGUI学习2 - Canvas U3D UGUI学习3 - RectTransform U3D UGUI学习4 - Text U3D UGUI学习5 - Layout和文字适配…
[MVC学习笔记]1.项目结构搭建及单个类在各个层次中的实现 [MVC学习笔记]2.使用T4模板生成其他类的具体实现 [MVC学习笔记]3.使用Spring.Net应用IOC(依赖倒置) [MVC学习笔记]4.使用Log4Net来进行错误日志的记录 [MVC学习笔记]5.使用Controller来代替Filter完成登录验证(Session校验) [MVC学习笔记]6. 使用Memcache+Cookie解决分布式系统共享登录状态 [MVC学习笔记]7.使用极验验证来制作更高逼格的验证码 ···…
linux分以下几台 monogos mongocfg mongod1 mongod2 1.用ssh把 mongodb-linux-x86_64-3.0.6.tgz 移到linux /root上 2.解压到/root/mongodb-3.0.6/ tar zxf mongodb-linux-x86_64-.tgz 3.添加data和log文件夹 mkdir date mkdir log 4.在log文件夹中添加logs.log touch logs.log 5.创建文件/root/mongodb…