Tair (Redis OSS-compatible) secara bertahap menghapus data yang telah kedaluwarsa, sehingga data tersebut tetap menempati memori meskipun sudah melewati masa berlakunya. Anda dapat mengonfigurasi tugas Scheduled O&M di CloudOps Orchestration Service (OOS) untuk memindai (SCAN) semua kunci selama jam sepi, langsung menghapus kunci yang telah kedaluwarsa, dan membebaskan memori.
Latar Belakang
Untuk menjaga performa baca dan tulis, instans Tair (Redis OSS-compatible) menggunakan logika penghapusan asinkron. Saat data kedaluwarsa, instans tidak langsung menghapusnya. Sebaliknya, kunci yang kedaluwarsa dihapus secara bertahap melalui penghapusan aktif (proses latar belakang yang secara periodik memindai dan menghapus sebagian kunci kedaluwarsa) dan penghapusan pasif (kunci dihapus saat klien mencoba mengaksesnya). Dalam kasus ekstrem, ketika sejumlah besar kunci kedaluwarsa sekaligus, pemulihan memori dapat memakan waktu cukup lama.
Anda dapat menggunakan layanan OOS gratis untuk memanggil API FlushExpireKeys secara berkala, yang memindai semua kunci dan langsung menghapus kunci yang telah kedaluwarsa.
Perintah SCAN memindai seluruh data dan meningkatkan beban CPU instans. Jalankan tugas ini selama jam sepi.
Prasyarat
Buat peran RAM agar layanan OOS dapat mengakses layanan Tair (Redis OSS-compatible). Untuk informasi lebih lanjut, lihat Menyiapkan dan memberikan izin kepada peran RAM untuk OOS.
-
Anda dapat memberikan kebijakan sistem AliyunKvstoreFullAccess kepada peran tersebut, yang memungkinkannya mengelola semua resource Tair (Redis OSS-compatible).
-
Sebagai alternatif, Anda dapat membuat kebijakan kustom berdasarkan prinsip hak istimewa minimal. Kebijakan ini hanya mengizinkan OOS untuk memanggil API
DescribeInstancesdanFlushExpireKeysdari Tair (Redis OSS-compatible), sehingga membatasi izin peran hanya untuk tugas ini.
Prosedur
-
Buka Konsol OOS.
-
Pada panel navigasi kiri, pilih .
-
Klik Create.
-
Konfigurasi tugas Scheduled O&M.
CatatanTopik ini hanya menjelaskan parameter utama. Untuk detail parameter lainnya, lihat CloudOps Orchestration Service.
Pengaturan jadwal
Pada contoh ini, pilih Executed Periodically untuk menjalankan tugas setiap hari pukul 04.00 dan 16.00.
Untuk Repeat Cycle, pilih cron expression dan konfigurasi bidang-bidang berikut: atur Minute ke
0, Hour ke4,16, Day-of-month ke?, Month ke*, dan Day-of-week ke*. Untuk Time Zone, pilih(GMT+08:00) Asia/Shanghai. Atur Effective Time ke2025-07-23 00:00:00.Atur End Time ke 2026-01-01 00:00:00. Tugas Scheduled O&M akan berhenti berjalan pada waktu ini.
Pilih templat
Pada bagian Public Templates, cari dan pilih templat ACS-Redis-FlushExpireKeys.
Konfigurasi parameter templat
-
Pilih wilayah instans Anda, lalu pilih instans target.
-
Untuk Permission Source For Execution, pilih peran RAM yang telah Anda buat pada bagian Prasyarat.
Pengaturan eksekusi (opsional)
Anda dapat mempertahankan pengaturan default pada tab ini.
-
-
Klik Create, lalu klik OK pada kotak dialog konfirmasi.
Saat Execution Status suatu tugas berubah menjadi Active, tugas tersebut akan dieksekusi secara otomatis sesuai dengan pengaturan jadwal (Schedule Settings).
Langkah selanjutnya
Pada daftar tugas Scheduled O&M, Anda dapat mengklik Execution ID suatu tugas untuk membuka halaman detailnya. Pada halaman ini, Anda dapat melihat atau mengubah konfigurasi tugas, segera memicu eksekusi, serta melihat riwayat eksekusi.
Setelah data kedaluwarsa dihapus dan memori dipulihkan, Anda akan melihat metrik Memory Usage instans menurun di Performance Monitoring.
Dokumentasi terkait
-
Anda juga dapat mengonfigurasi Alert and Event O&M di OOS. Misalnya, Anda dapat memanggil API FlushExpireKeys untuk menghapus kunci kedaluwarsa ketika penggunaan memori rata-rata mencapai 90%. Proses konfigurasinya mirip dengan solusi ini, dan titik masuknya adalah . Untuk informasi lebih lanjut, lihat Membuat tugas O&M berbasis alert.
-
Untuk informasi lebih lanjut tentang cara Tair dan Redis menghapus data kedaluwarsa, lihat Bagaimana Tair dan Redis melakukan purge terhadap kunci kedaluwarsa?