从品牌网站建设到网络营销策划,从策略到执行的一站式服务
MongoDB Tailable Cursors
MongoDB 有一个叫 Tailable Cursors的特性,它类似于tail -f 命令,你在一个Capped Collection上面执行查询操作,当操作完成后,你可以不关闭返回的数据Cursor,并持续地从中读出新加入的数据。
在高写入的Capped Collection上,索引不可用时,可使用Tailable Cursors。例如,MongoDB复制使用了Tailable Cursors来获取Primary的尾oplog日志。
考虑以下与Tailable Cursors相关的行为:
从事中国电信成都枢纽中心,服务器租用,云主机,网页空间,国际域名空间,CDN,网络代维等服务。
Tailable Cursors不使用索引,并以自然排序返回文档。
因为Tailable Cursors不使用索引,查询的初始扫描非常耗性能;但是,游标初始化完后,随后获取到的新增加的文档是很快速的。
Tailable Cursors如果遇到以下情况之一将会僵死或无效:
查询无匹配结果。
游标在集合尾部返回文档,随后应用程序删除了该文档。
僵死的游标id为0。
DBQuery.Option.awaitData
在使用TailableCursor时,此参数会在数据读尽时先阻塞一小段时间后再读取一次并进行返回。
跟踪oplog的示例
use local var cursor = db.oplog.rs.find({"op" : "u", "ns" : "MyDB.Product"},{"ts": 1, "o2._id": 1}).addOption(DBQuery.Option.tailable).addOption(DBQuery.Option.awaitData); while(cursor.hasNext()){ var doc = cursor.next(); printjson(doc); };
2.6版的游标方法:
cursor.addOption()
https://docs.mongodb.com/v2.6/reference/method/cursor.addOption/
3.2版的游标方法:
cursor.tailable()
https://docs.mongodb.com/manual/reference/method/cursor.tailable/
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图