Mengapa Dokumen MongoDB Saya Tidak Luput Selepas 5 Saat dengan Indeks TTL dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-10-30 21:50:30
asal
995 orang telah melayarinya

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

Menggunakan MongoDB Expire Documents Selepas Bilangan Saat Ditentukan dalam Go

Menggunakan indeks TTL, MongoDB membenarkan anda untuk tamat tempoh dokumen secara automatik selepas tertentu tempoh masa. Artikel ini menunjukkan cara untuk mencapai perkara ini dalam Go menggunakan pemandu mongo-go rasmi.

Mengikuti dokumentasi MongoDB, kod menunjukkan cara untuk:

  • Membuat indeks dengan expireAfterSeconds pilihan
  • Sisipkan data sampel dengan cap masa penciptaan yang berbeza-beza

Walau bagaimanapun, contoh yang diberikan berfungsi dengan betul dan isu itu tidak berkaitan dengan kod.

Memahami Gelagat Indeks TTL

Parameter expireAfterSeconds menentukan tempoh selepas medan createAt apabila dokumen harus dianggap tamat tempoh. Walau bagaimanapun, pemadaman dokumen yang telah tamat tempoh tidak serta-merta.

Menurut dokumentasi MongoDB:

"Indeks TTL tidak menjamin bahawa data yang telah tamat tempoh akan dipadamkan serta-merta selepas tamat tempoh. Mungkin terdapat kelewatan antara masa dokumen tamat tempoh dan masa MongoDB mengalih keluar dokumen daripada pangkalan data."

Tugas Latar Belakang untuk Pemadaman

MongoDB mempunyai tugas latar belakang yang mengalih keluar dokumen tamat tempoh setiap 60 saat. Oleh itu, dokumen mungkin kekal dalam koleksi sehingga 60 saat selepas tamat tempoh. Tambahan pula, jika pangkalan data berada di bawah beban berat, ia mungkin mengambil masa tambahan untuk semua dokumen yang telah tamat tempoh dipadamkan.

Resolusi

Dalam coretan kod anda, anda menjangkakan beberapa dokumen yang akan dipadamkan selepas 5 saat (berdasarkan pilihan expireAfterSeconds) tetapi hanya tunggu beberapa saat selepas sisipan untuk pengesahan. Untuk menguji fungsi dengan betul, anda harus memberi masa yang mencukupi (sekurang-kurangnya beberapa minit) untuk tugas latar belakang dijalankan dan memadamkan dokumen yang telah tamat tempoh.

Atas ialah kandungan terperinci Mengapa Dokumen MongoDB Saya Tidak Luput Selepas 5 Saat dengan Indeks TTL dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!