요금블로그
언어

Cara Deploy Redis ke Helipod: Cache, Session, dan Real-time Data

Tim Helipod
게시일 4분 소요

이 글은 인도네시아어로 작성되었습니다.

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#

  1. Buka halaman project di Helipod
  2. Klik New Service
  3. Pilih Redis dari daftar template
  4. Pilih versi Redis (7.x)
  5. Atur resource: minimum 128 MB RAM sudah cukup untuk kebanyakan use case
  6. 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.io atau bergabung di komunitas hangar.helipod.io.

Baca juga:

Blog

관련 글

전체 보기

Helipod를 사용해 보시겠어요?

지금 앱을 배포해 보세요. 무료이며 신용카드가 필요 없습니다.
WhatsApp