」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我的 MongoDB 文件在 Go 中使用 TTL 索引 5 秒後沒有過期?

為什麼我的 MongoDB 文件在 Go 中使用 TTL 索引 5 秒後沒有過期?

發佈於2024-11-07
瀏覽:718

Why Aren\'t My MongoDB Documents Expiring After 5 Seconds with TTL Indexes in Go?

在Go 中使用MongoDB 在指定的秒數後使文件過期

使用TTL 索引,MongoDB 允許您在指定的秒數後自動使文件過期期間。本文示範如何使用官方 mongo-go-driver 在 Go 中實現此目的。

按照MongoDB 文檔,程式碼顯示如何:

  • 建立帶有expireAfterSeconds 的索引選項
  • 插入具有不同創建時間戳的範例資料

但是,提供的範例執行正確,且問題與程式碼無關。

了解 TTL 索引行為

expireAfterSeconds 參數指定在createdAt 欄位之後文件應被視為過期的持續時間。不過,過期文檔的刪除並不是立即進行的。

根據MongoDB文件:

「TTL索引並不能保證過期資料在過期後立即被刪除。可能會有延遲文件過期時間和MongoDB 從資料庫中刪除文件的時間之間。 "

用於刪除的後台任務

MongoDB 有一個刪除過期文檔的後台任務每60 秒一次。因此,文件在過期後可能會在集合中保留最多 60 秒。此外,如果資料庫負載過重,刪除所有過期文件可能需要額外的時間。

解決方案

解決方案

Why Aren\'t My MongoDB Documents Expiring After 5 Seconds with TTL Indexes in Go?

解決方案

在您的程式碼片段中,您期望一些文件將在5 秒後刪除(基於expireAfterSeconds 選項),但僅在插入後等待幾秒進行驗證。為了正確測試功能,您應該留出足夠的時間(至少幾分鐘)讓後台任務執行並刪除過期的文件。

最新教學 更多>
  • ## 如何有效分析 PHP 記憶體使用:Xdebug 替代方案和最佳實踐
    ## 如何有效分析 PHP 記憶體使用:Xdebug 替代方案和最佳實踐
    分析 PHP 記憶體消耗您尋求一種方法來檢查 PHP 頁面的記憶體使用量。具體來說,您的目標是確定資料的記憶體分配並識別導致大量記憶體消耗的函數呼叫。 Xdebug 的限制雖然 Xdebug 提供了跟踪功能,提供內存增量信息,其豐富的數據可能令人難以承受。如果細粒度過濾選項可用,問題就可以解決。然而...
    程式設計 發佈於2024-11-07
  • 如何在虛擬 DOM 中渲染元件以及如何最佳化重新渲染
    如何在虛擬 DOM 中渲染元件以及如何最佳化重新渲染
    构建现代 Web 应用程序时,高效更新 UI(用户界面)对于保持应用程序快速响应至关重要。许多框架(如 React)中使用的常见策略是使用 虚拟 DOM 和 组件。本文将解释如何使用 Virtual DOM 渲染组件,以及如何优化重新渲染以使 Web 应用程序不会变慢。 1.什么是虚...
    程式設計 發佈於2024-11-07
  • CRUD 操作:它們是什麼以及如何使用它們?
    CRUD 操作:它們是什麼以及如何使用它們?
    CRUD 操作:它們是什麼以及如何使用它們? CRUD 操作(建立、讀取、更新和刪除)是任何需要資料管理的應用程式的基礎。對於開發人員來說,了解這些操作非常重要,因為它們提供了我們有效與資料庫互動所需的基本功能。在這篇文章中,我將透過展示如何將 CRUD 操作整合到我的 Yoga ...
    程式設計 發佈於2024-11-07
  • 推出免費 Java 實用程式包
    推出免費 Java 實用程式包
    面向 Java 后端开发人员的快速且易于使用的编程工具包 在我作为管理员和开发人员的职业生涯中,我多次从无数的免费软件和开源产品中受益。因此,我很自然地也为这个社区做出贡献。 这个 Java 类集合是在各种项目过程中创建的,并将进一步开发。我希望这个工具也能为您服务。 https://java-ut...
    程式設計 發佈於2024-11-07
  • 如何在 PHP Foreach 迴圈中檢索巢狀數組的數組鍵?
    如何在 PHP Foreach 迴圈中檢索巢狀數組的數組鍵?
    PHP:在Foreach 循環中檢索數組鍵在PHP 中,使用foreach 循環迭代關聯數組可以存取這兩個值和鑰匙。但是, key() 函數僅傳回目前值的鍵,這在處理巢狀數組時可能是不夠的。 例如,考慮這樣的陣列:<?php $samplearr = array( 4722 =>...
    程式設計 發佈於2024-11-07
  • 如何將 MySQL 表中的 Latin1 字元轉換為 UTF-8?
    如何將 MySQL 表中的 Latin1 字元轉換為 UTF-8?
    將UTF8 表上的Latin1 字元轉換為UTF8您已確定您的PHP 腳本缺少必要的mysql_set_charset 函數以確保正確處理UTF-8 字元。儘管實施了此修復,您現在仍面臨著修正包含儲存在 UTF8 表中的 Latin1 字元的現有行的挑戰。 要解決此問題,您可以利用 MySQL 函數...
    程式設計 發佈於2024-11-07
  • 如何使用 Zapcap API(字幕 API)
    如何使用 Zapcap API(字幕 API)
    將 ZapCap 的自動視訊處理 API 整合到您現有的系統中是一個簡單的過程,旨在最大限度地降低複雜性並最大限度地提高效率。 ZapCap 提供開發人員友好的 API 文檔,以確保無縫入門。 逐步整合指南 步驟 1:在 ZapCap 取得您的 API 金鑰 在開始之前...
    程式設計 發佈於2024-11-07
  • 探索引導元件
    探索引導元件
    Bootstrap 5 是最受歡迎的前端框架之一,它帶來了一系列有用的組件和實用程序,可幫助開發人員快速構建響應靈敏且具有視覺吸引力的網站。 牌 卡片是 Bootstrap 5 中的多功能元件,可讓您以乾淨、有組織的方式顯示內容。它們非常適合以美觀且實用的方式展示資訊。 ...
    程式設計 發佈於2024-11-07
  • 簡化 SVG 管理:將路徑轉換為單一 JS 常數文件
    簡化 SVG 管理:將路徑轉換為單一 JS 常數文件
    构建 React.js 应用程序时,有效管理 SVG 图标至关重要。 SVG 提供了响应式设计所需的可扩展性和灵活性,但在大型项目中处理它们可能会变得很麻烦。这就是 svg-path-constants 的用武之地,它是一个 CLI 工具,旨在通过将 SVG 路径转换为可重用常量来简化 SVG 工作...
    程式設計 發佈於2024-11-07
  • 如何管理 JavaScript 程式碼結構
    如何管理 JavaScript 程式碼結構
    出色地!維護乾淨且有組織的 JavaScript 程式碼庫對於專案的長期成功至關重要。結構良好的程式碼庫可以增強可讀性,減少技術債務,並促進更輕鬆的調試和擴展。無論您正在開發小型專案還是大型應用程序,遵循建立 JavaScript 程式碼的最佳實踐都可以顯著改善您的開發流程。以下是如何管理 Java...
    程式設計 發佈於2024-11-07
  • 溢出可以配置向左流嗎?
    溢出可以配置向左流嗎?
    溢出可以配置為向左流動嗎? 溢流通常透過強制內容向右流動來處理,導致最左邊的內容被裁切。但是,可以透過套用特定的 CSS 樣式來扭轉此行為。 解決方案要啟用向左溢出,請按照給定的步驟操作:將溢出設定為隱藏:將溢出:隱藏應用到容器以防止內容超出其邊界。 文字右對齊:使用text-align: righ...
    程式設計 發佈於2024-11-07
  • 如何在保留資料類型的同時將 NumPy 陣列與不同資料類型組合?
    如何在保留資料類型的同時將 NumPy 陣列與不同資料類型組合?
    在NumPy 中組合具有多種資料類型的陣列將包含不同資料類型的陣列連接成單一陣列,每列中具有相應的數據類型一個挑戰。不幸的是,使用 np.concatenate() 的常見方法會將整個數組轉換為字串資料類型,從而導致記憶體效率低下。 要克服此限制,一個可行的解決方案是使用記錄數組或結構化數組。 記錄...
    程式設計 發佈於2024-11-07
  • 如何在同一行水平對齊內聯塊?
    如何在同一行水平對齊內聯塊?
    在同一行水平對齊內聯塊問題內聯塊比浮動元素具有優勢,例如基線對齊和自動居中當視口變窄時。然而,在同一行上水平對齊兩個內聯區塊可能會帶來挑戰。 內聯塊對齊的挑戰浮動可能會幹擾基線對齊並導致不必要的環繞.相對和絕對定位會導致間距問題,類似於浮動。 解決方案:使用文字對齊一個有效的解決方案是利用文字對齊:...
    程式設計 發佈於2024-11-07
  • 感到沒有動力
    感到沒有動力
    覺得自己像個菜鳥,放棄了幾次。 我第一次開始考慮編碼是在我還是個孩子的時候,但我選擇成為一名社交蝴蝶,現在我已經26 歲了,嘗試了很多次學習編碼python、JS、React、DB 等但最終,我感到不知所措並放棄了它。 現在,正因為如此,我感覺自己像個失敗的鬆手,我想解決這個問題...
    程式設計 發佈於2024-11-07

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3