Backend
Redis Caching & Message Queues
Tingkatkan kecepatan sistem hingga ribuan kali lipat dengan In-Memory Caching Redis, Pub/Sub, dan Queue Manager.
Status Membaca:Belum Dibaca
Daftar Bab (1)
Bab 1 dari 1
Struktur Data Redis & Caching Strategy
Redis In-Memory Data Store & Caching
Redis (Remote Dictionary Server) adalah penyimpanan struktur data dalam memori (RAM) yang sangat cepat dengan latensi sub-milidetik.
Kasus Penggunaan Utama Redis
1. Response Caching — Menyimpan hasil query database yang sering diakses.
2. Session Store — Menyimpan data token login user across multiple server.
3. Rate Limiter — Mencegah spam atau DDoS request ke endpoint API.
4. Leaderboard Real-time — Menggunakan struktur data *Sorted Sets* (ZADD, ZREVRANGE).
Contoh Implementasi Redis Caching di Node.js:
import { createClient } from 'redis';
const redis = createClient();
await redis.connect();
async function getMateriDetail(materiSlug) {
// 1. Cek Cache Redis terlebih dahulu
const cachedData = await redis.get('materi:' + materiSlug);
if (cachedData) {
console.log('⚡ Cache Hit! Mengambil dari Redis RAM');
return JSON.parse(cachedData);
}
// 2. Jika Cache Miss, ambil dari Database SQL/NoSQL
console.log('🐢 Cache Miss! Query dari Database');
const dbData = await db.materi.findUnique({ where: { slug: materiSlug } });
// 3. Simpan ke Redis dengan TTL (Time To Live) 1 Jam (3600 detik)
await redis.setEx('materi:' + materiSlug, 3600, JSON.stringify(dbData));
return dbData;
}