溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【MongoDB】TTL時效集合

發布時間:2020-07-12 02:04:25 來源:網絡 閱讀:1894 作者:lizhuquan0769 欄目:MongoDB數據庫

    TTL索引(time to live index,具有生命周期的索引),這種索引允許為每一個文檔設置一個超時時間。一個文檔到達預設置的老化程度之后就會被刪除。這種類型的索引對于緩存問題(比如會話的保存)非常有用。


    在創建索引的時候,順便指定expireAfterSeconds選項就可以創建一個TTL索引,該集合也就屬于TTL集合了。

// 創建TTL索引, 設置超時時間為24小時
db.ttl.ensureIndex({date:1},{expireAfterSeconds:24*60*60});


    這樣就在"date"字段上創建了一個TTL索引。如果一個文檔的"date"存在并且它的值是日期類型,當服務器時間比文檔的"date"字段的時間晚expireAfterSeconds秒時,文檔就會被刪除。


    為了防止活躍的會話被刪除,可以在會話上有活動發生時將"date"字段更新為當前時間。只要"date"距離當前時間達到24小時,文檔就會被刪除。


    MongoDB每分鐘對TTL索引進行一次清理,所以不應該依賴以秒為單位的時間來保證索引的存活狀態??梢允褂胏ollMod命令來更改expireAfterSeconds的值:

db.runCommand(
    {
        collMod:"ttl",
        index:{
            keyPattern:{date:1}, 
            expireAfterSeconds:3600
        }
     }
)


    在一個給定的集合上可以有多個TTL索引。TTL索引不能是復合索引,但是可以像普通索引一樣用來優化排序和查詢。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女