TTL dan Kedaluwarsa di Redis
Pelajari cara Redis menangani kedaluwarsa kunci: menetapkan TTL, perintah EXPIRE dan SETEX, cara kerja kedaluwarsa malas dan aktif, serta interaksi kebijakan pengusiran maxmemory dengan TTL.
TTL dan Kedaluwarsa di Redis adalah pelajaran Caching Strategies: Redis + CDN + Edge Computing gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Caching Strategies: Redis + CDN + Edge Computing, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Caching Strategies: Redis + CDN + Edge Computing mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Why Expire Cache Keys?
Cached data goes stale. Time To Live (TTL) lets Redis automatically remove a key after a set duration, so your cache stays reasonably fresh without manual cleanup.
Setting a TTL with EXPIRE
The EXPIRE command sets a timeout in seconds on an existing key. After that time, Redis deletes the key automatically.
SET user:1 "Alice"
EXPIRE user:1 60
TTL user:1SET with EX in One Step
You can set a value and its TTL together. SET key value EX seconds (or the older SETEX) avoids a race between writing and expiring.
SET session:abc "data" EX 300Checking Remaining TTL
The TTL command returns seconds left. PTTL returns milliseconds. Special return values matter:
-1: key exists but has no expiry-2: key does not exist
def interpret_ttl(value):
if value == -1:
return 'no expiry set'
if value == -2:
return 'key does not exist'
return str(value) + 's remaining'
print(interpret_ttl(-2))
print(interpret_ttl(45))Removing an Expiry
The PERSIST command removes the TTL from a key, making it permanent again. Useful when a value should stop expiring after some condition is met.
PERSIST user:1Lazy Expiration
Redis does not check every key constantly. With lazy expiry, an expired key is only removed when someone tries to access it. Until then it lingers in memory.
Active Expiration
To reclaim memory from keys nobody touches, Redis also runs a background sampler that periodically removes a batch of expired keys. This is active expiry. Together with lazy expiry it keeps memory in check.
TTL vs Eviction
TTL is voluntary removal at a set time. Eviction happens when Redis hits its maxmemory limit and must drop keys to make room. They are different mechanisms that often work together.
volatile vs allkeys Policies
Eviction policies decide what to drop under memory pressure:
volatile-lru: evict least-recently-used keys that have a TTLallkeys-lru: evict LRU among all keys
For a pure cache, allkeys policies are common.
Choosing TTL Values
Pick TTLs from the data's tolerance for staleness: seconds for fast-changing prices, hours for catalogs, days for rarely-changing config. Add jitter to avoid synchronized mass expiry.
import random
base = 3600
print('TTL:', base + random.randint(0, 300), 'seconds')Common Pitfall: No TTL
Forgetting to set a TTL turns a cache into an ever-growing store that eventually exhausts memory. For cache use cases, almost every key should have an expiry or rely on an allkeys eviction policy.
Quick Check
What does the Redis command TTL mykey return if the key exists but has no expiration set?
Recap
You learned TTL and expiration in Redis:
- EXPIRE / SET ... EX set timeouts; TTL/PTTL inspect them; PERSIST removes them.
- Redis uses lazy plus active expiration.
- Eviction policies (volatile vs allkeys) handle memory pressure.
- Always set TTLs (or an allkeys policy) for cache keys.
Good expiration keeps a cache both fresh and bounded.
Belajar Caching Strategies: Redis + CDN + Edge Computing dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Pertanyaan yang Sering Diajukan
Apakah pelajaran “TTL dan Kedaluwarsa di Redis” gratis?
Ya — teks lengkap “TTL dan Kedaluwarsa di Redis” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Caching Strategies: Redis + CDN + Edge Computing, upgrade ke CoddyKit PRO. Kursus Caching Strategies: Redis + CDN + Edge Computing mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “TTL dan Kedaluwarsa di Redis”?
Pelajari cara Redis menangani kedaluwarsa kunci: menetapkan TTL, perintah EXPIRE dan SETEX, cara kerja kedaluwarsa malas dan aktif, serta interaksi kebijakan pengusiran maxmemory dengan TTL. Kamu berlatih Caching Strategies: Redis + CDN + Edge Computing dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Caching Strategies: Redis + CDN + Edge Computing?
Tidak diperlukan pengalaman sebelumnya. Caching Strategies: Redis + CDN + Edge Computing di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “TTL dan Kedaluwarsa di Redis” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Caching Strategies: Redis + CDN + Edge Computing ini?
Ya. Setiap pelajaran Caching Strategies: Redis + CDN + Edge Computing menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Pengantar Caching Redis
- Struktur Data Redis untuk Cache
- Operasi Dasar Cache Redis
- TTL dan Kedaluwarsa di Redis