Redis adalah Swiss Army knife untuk developer. Bisa jadi cache, session store, message broker, atau real-time data store — semua dalam satu tool. Tapi deploy Redis sendiri butuh konfigurasi yang tidak sedikit.
Dengan Helipod, Redis bisa di-deploy dalam hitungan menit. Tidak perlu khawatir about persistence, replication, atau memory management.
Kapan Perlu Redis?
| Use Case | Penjelasan |
|---|---|
| Caching | Simpan hasil query yang sering diakses di RAM |
| Session | Store session user di backend yang scalable |
| Rate limiting | Batasi jumlah request per user/IP |
| Real-time | Pub/sub untuk chat, notifikasi, live updates |
| Queue | Antrean job untuk background processing |
Cara Deploy Redis
Langkah 1: Buat Service
- Buka halaman project di Helipod
- Klik New Service
- Pilih Redis dari daftar template
- Pilih versi Redis (7.x)
- Atur resource — minimum 128 MB RAM sudah cukup untuk kebanyakan use case
- Klik Create
Langkah 2: Ambil Connection String
REDIS_URL=redis://redis-xxxxx:6379
REDIS_HOST=redis-xxxxx
REDIS_PORT=6379
Langkah 3: Koneksi dari Aplikasi
Node.js (ioredis):
const Redis = require('ioredis');
const redis = new Redis(process.env.REDIS_URL);
Python (redis-py):
import redis
r = redis.from_url(os.environ['REDIS_URL'])
PHP (Predis):
$client = new Predis\Client(getenv('REDIS_URL'));
Internal Networking
Seperti MongoDB, Redis di Helipod bisa diakses dari service lain menggunakan internal DNS:
redis-service-name.internal:6379
Contoh untuk Multi-Service
# Service api-backend
REDIS_URL=redis://redis:6379
# Service worker
REDIS_URL=redis://redis:6379
Untuk panduan multi-service, baca: Multi-Service Project di Helipod
Use Cases dengan Redis
1. Session Store (Express.js)
const session = require('express-session');
const RedisStore = require('connect-redis').default;
app.use(session({
store: new RedisStore({ client: redis }),
secret: 'your-secret',
resave: false,
saveUninitialized: false,
}));
2. Caching (Node.js)
async function getCachedData(key) {
const cached = await redis.get(key);
if (cached) return JSON.parse(cached);
const data = await fetchFromDatabase();
await redis.setex(key, 3600, JSON.stringify(data)); // cache 1 hour
return data;
}
3. Rate Limiting
const rateLimit = require('express-rate-limit');
const RedisStore = require('rate-limit-redis');
app.use(rateLimit({
store: new RedisStore({ client: redis }),
windowMs: 15 * 60 * 1000, // 15 minutes
max: 100, // limit per IP
}));
4. Pub/Sub (Real-time)
// Publisher
await redis.publish('notifications', JSON.stringify({ title: 'New order' }));
// Subscriber
redis.subscribe('notifications');
redis.on('message', (channel, message) => {
console.log('Received:', JSON.parse(message));
});
Konfigurasi
Persistence
Redis bisa dikonfigurasi untuk persist data ke disk:
#aktifkan RDB snapshotting
save 900 1
save 300 10
save 60 10000
Memory Limit
maxmemory 256mb
maxmemory-policy allkeys-lru
allkeys-lru akan menghapus key yang least recently used saat memory penuh.
Authentication
requirepass your-strong-password
Gunakan password yang kuat dan simpan di environment variables.
Monitoring
Redis di Helipod bisa dipantau dari dashboard:
- Memory usage — pastikan tidak melebihi limit
- Connected clients — jumlah koneksi aktif
- Hit rate — efektivitas cache
- Operations per second — throughput
Gunakan Heli Crew:
Kamu → "cek metrik service redis"
Heli Crew → "Redis: RAM 48MB/128MB, Connected clients: 12,
Ops/sec: 1,500, Hit rate: 94%"
Untuk penjelasan lengkap monitoring, baca: Monitoring dan Logs Real-time
Redis vs Database Lain
| Redis | PostgreSQL | MongoDB | |
|---|---|---|---|
| Model | Key-value (in-memory) | Relational | Document |
| Speed | Sangat cepat (RAM) | Cepat (disk) | Cepat (disk) |
| Persistence | Optional | Ya | Ya |
| Use case | Cache, session, queue | Structured data | Flexible schema |
| Memori | Semua data di RAM | Sebagian di RAM | Sebagian di RAM |
Mulai Sekarang
Daftar gratis di helipod.io. Deploy Redis dalam hitungan menit dan mulai caching aplikasi kamu.
Butuh bantuan? Hubungi support@helipod.id atau bergabung di komunitas hangar.helipod.io.
Baca juga:
- Deploy MongoDB ke Helipod — database NoSQL untuk data fleksibel
- Multi-Service Project — deploy backend, frontend, dan database
- Environment Variables di Helipod — cara set konfigurasi