国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

mongodb中ttl索引是什么?如何創(chuàng)建?

2024-09-07 00:22:33
字體:
供稿:網(wǎng)友
       這篇文章給大家分享的是mongodb中的ttl索引內(nèi)容,具體介紹了ttl索引的概念,ttl索引的創(chuàng)建、刪除、添加等等操作,具有一定的借鑒參考價值,感興趣的朋友就繼續(xù)往下看吧。
 
       TTL索引是一種特殊類型的單字段索引,主要用于當(dāng)滿足某個特定時間之后自動刪除相應(yīng)的文檔。也就是說集合中的文檔有一定的有效期,超過有效期的文檔就會失效,會被移除。也即是數(shù)據(jù)會過期。過期的數(shù)據(jù)無需保留,這種情形適用于如機(jī)器生成的事件數(shù)據(jù),日志和會話信息等等。本文主要描述TTL索引的使用。
       一、TTL索引
 
創(chuàng)建方法
    db.collection.createIndex(keys, options)
    options:
        expireAfterSeconds 指定多少秒或者包含日期值的數(shù)組
 
創(chuàng)建示例
    db.eventlog.createIndex( { "lastModifiedDate": 1 }, { expireAfterSeconds: 3600 } )
 
何時失效
    在指定的時間達(dá)到后失效,也即是索引字段的值加上一個特定的秒數(shù)之后
    如果索引字段是一個數(shù)組,即索引字段上存在著多個日期值,此時MongoDB取最小值加上失效時間(lowest())
    對于非日期字段或不包含日期數(shù)組的索引字段,文檔不會失效
    對于不包含索引字段的文檔,文檔不會失效
 
刪除操作
    mongod的一個后臺線程會讀取索引的值并將失效的文檔從集合移除
    當(dāng)TTL線程被激活后,可以從db.currentOp()或者從profile觀察到刪除操作
 
一些限制
    不能基于已經(jīng)存在索引的字段創(chuàng)建TTL索引以及非日期字段創(chuàng)建TTL索引,文檔不會失效
    TTL索引不支持基于多個字段的復(fù)合索引
    不支持定長集合
 
       二、TTL索引示例
 
# mongo --shell localhost:27000 TTLData.js
MongoDB shell version: 3.2.11
connecting to: localhost:27000/test
 
repSetTest:PRIMARY> db.ttlTest.find()  //當(dāng)前向集合里插入了3個文檔
{ "_id" : 1, "createDate" : ISODate("2017-03-10T03:23:01.169Z") }
{ "_id" : 2, "createDate" : ISODate("2017-03-10T03:24:01.169Z") }
{ "_id" : 3, "createDate" : ISODate("2017-03-10T03:25:01.169Z") }
 
//下面為測試集合上的文檔添加索引,即5分鐘后索引失效
repSetTest:PRIMARY> db.ttlTest.createIndex({createDate:1}, {expireAfterSeconds:300})
{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 1, // Author : Leshami
    "numIndexesAfter" : 2,  // Blog  : http://blog.csdn.net/leshami
    "ok" : 1
}
 
//當(dāng)指定時間到期后,文檔被刪除,如下,查詢不到任何文檔
repSetTest:PRIMARY> db.ttlTest.find()


(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 屯留县| 抚宁县| 南部县| 邮箱| 伊金霍洛旗| 岳普湖县| 保山市| 镇江市| 新丰县| 玉门市| 土默特右旗| 陆丰市| 桂东县| 孝感市| 云南省| 南宁市| 封开县| 宣恩县| 宝清县| 溧阳市| 河北区| 张北县| 夏津县| 同江市| 英吉沙县| 安吉县| 洪江市| 甘洛县| 宝清县| 上饶市| 郸城县| 马尔康县| 屯留县| 西和县| 灵寿县| 昌江| 阳春市| 和田县| 佛山市| 华亭县| 海安县|