Skip to main content

Redis

Redis (Remote Dictionary Server) adalah in-memory data store yang dapat digunakan sebagai database, cache, dan message broker. Redis dikenal karena kecepatannya yang sangat tinggi dan dukungan terhadap berbagai struktur data seperti string, hash, list, set, dan sorted set.

Fitur Utama Redis

  • Performa tinggi (operasi di memori, latency < 1ms)
  • Mendukung berbagai tipe data
  • Persistence: data dapat disimpan di disk (RDB/AOF)
  • Mendukung autentikasi & enkripsi TLS
  • Replikasi & High Availability dengan Redis Sentinel
  • Cluster Mode untuk skala besar dan horizontal scaling

Kegunaan Umum Redis

Use CasePenjelasan
CachingMenyimpan hasil query atau data sementara untuk mempercepat respons.
Session StoreMenyimpan session user aplikasi web.
Message Queue (Pub/Sub)Komunikasi antar layanan (microservices).
Rate LimitingMembatasi jumlah request API.
Leaderboard/Game DataMenyimpan skor, statistik real-time, dan peringkat.

Instalasi Redis

A. Instalasi di Linux (Ubuntu/Debian)

sudo apt update
sudo apt install redis-server -y

Periksa status Redis:

sudo systemctl status redis

Jalankan Redis CLI:

redis-cli
set hello world
get hello

B. Instalasi Menggunakan Docker

docker run -d \
--name redis \
-p 6379:6379 \
redis:latest

Masuk ke CLI Redis dalam container:

docker exec -it redis redis-cli

Contoh:

set test "Redis Docker Running"
get test

Konfigurasi Redis

File utama konfigurasi:/etc/redis/redis.conf Contoh pengaturan:

bind 0.0.0.0
port 6379
requirepass redis123
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir /var/lib/redis
logfile /var/log/redis/redis-server.log
maxmemory 256mb
maxmemory-policy allkeys-lru

Restart Redis:

sudo systemctl restart redis

Perintah Dasar Redis CLI

PerintahFungsi
SET key valueMenyimpan nilai
GET keyMengambil nilai
DEL keyMenghapus key
KEYS *Menampilkan semua key
FLUSHALLMenghapus seluruh data
INFOMenampilkan status server
PINGMengecek konektivitas

Persistence di Redis

RDB - Snapshot berkala, cepat tapi bisa kehilangan data terakhir. AOF - Menyimpan semua operasi write, lebih aman tapi lebih lambat.

Aktifkan AOF:

appendonly yes
appendfilename "appendonly.aof"

Redis Sentinel (High Availability)

port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster redis123
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 10000

Monitoring Redis

redis-cli info stats
redis-cli info memory

Kesimpulan

Redis adalah solusi penyimpanan data in-memory yang cepat, ringan, dan fleksibel untuk caching, queue, dan distributed data store.