Skip to main content
BlogBackend

Valkey vs Redis: Haruskah Anda Migrasi Setelah Fork?

Drama lisensi memecah ekosistem menjadi dua. Inilah yang sebenarnya berubah, seberapa mulus pergantiannya, dan apakah layak menghabiskan akhir pekan Anda.

Matthews Wong

Software Engineer

Juli 20269 menit baca
Valkey vs Redis: Haruskah Anda Migrasi Setelah Fork?

Foto oleh U.S. Fish and Wildlife Service via Wikimedia Commons (Public domain)

Ringkasan Utama

Valkey adalah fork Redis 7.2.4 berlisensi BSD di bawah Linux Foundation yang tetap kompatibel dengan protokol dan set perintah Redis. Untuk sebagian besar beban caching dan sesi, ini benar-benar drop-in: ganti binari, pertahankan klien Anda. Redis kembali menjadi open source di bawah AGPLv3 pada 2025, jadi migrasi kini soal tata kelola, biaya, dan performa, bukan soal bertahan hidup.

Selama lebih dari satu dekade, Redis adalah jawaban default untuk caching, rate limiting, penyimpanan sesi, dan antrean pekerjaan. Lalu pada Maret 2024 Redis Ltd mengubah lisensinya, dan dalam seminggu jawaban itu punya nama kedua: Valkey. Saya menjalankan instance yang kompatibel dengan Redis di VPS sendiri dan mengandalkan cache terkelola di kantor, jadi ketika fork terjadi saya harus benar-benar memutuskan apa yang akan dipasang ke depan. Tulisan ini adalah keputusan yang saya lalui, tanpa kebisingan perang lisensi di Twitter.

Versi singkatnya: ini bukan lagi cerita tentang perusahaan yang mengkhianati komunitasnya. Redis berbalik arah, kedua proyek kembali menjadi open source, dan kedua basis kode mulai menyimpang dengan cara yang menarik. Itu membuat perbandingannya lebih bernuansa daripada yang bisa ditangkap sebuah judul, jadi mari kita telusuri dengan benar.

Bagaimana kita sampai di sini: linimasa lisensi

Anda tidak bisa menimbang trade-off tanpa mengetahui urutan kejadiannya, karena hal yang ditakuti semua orang pada 2024 sudah tidak ada lagi pada 2026. Inilah rangkaian keputusan yang sebenarnya.

  • Sebelum Maret 2024: Redis dirilis di bawah lisensi permisif BSD 3-Clause — keluarga lisensi yang sama yang kini dipakai Valkey.
  • Maret 2024: Redis Ltd beralih ke model source-available ganda (RSALv2 dan SSPLv1). Keduanya bukan open source yang disetujui OSI, yang memicu perpecahan.
  • Beberapa hari kemudian: para maintainer sebelumnya mem-fork Redis 7.2.4 dan, didukung AWS, Google, Oracle, dan Ericsson, menempatkannya di bawah Linux Foundation sebagai Valkey, berlisensi BSD.
  • Mei 2025: Redis berbalik arah dan menambahkan AGPLv3 — lisensi open source yang disetujui OSI — ke Redis 8, di samping tingkatan source-available-nya.

Jadi keduanya kini open source. Namun AGPLv3 adalah lisensi copyleft dengan kewajiban nyata jika Anda memodifikasi server dan mengeksposnya lewat jaringan, sementara BSD 3-Clause milik Valkey hanya meminta atribusi. Jika tim hukum Anda pernah bergidik mendengar huruf AGPL, perbedaan itu saja bisa menentukan jawabannya.

Apa yang sebenarnya berubah di balik layar

Pada tahun pertama, Valkey pada dasarnya adalah Redis 7.2 dengan logo berbeda. Itu tidak lagi benar. Sejak fork, Valkey merilis 8.0 dan 8.1 dengan rekayasa yang tidak dimiliki Redis OSS pada waktu yang sama, dan di sinilah kedua proyek benar-benar menyimpang.

  • I/O threading asinkron (8.0): pembacaan jaringan, parsing, dan penulisan respons dipindahkan ke thread I/O sementara eksekusi perintah tetap single-threaded, mendorong throughput melewati satu juta permintaan per detik pada perangkat keras yang sesuai.
  • Hashtable yang didesain ulang (8.1) yang memangkas sekitar 20 hingga 30 byte overhead per kunci, yang berarti penghematan nyata dalam skala besar.
  • Prefetching iterator yang membuat perintah seperti KEYS dan sinkronisasi replikasi sekitar 3,5 kali lebih cepat, ditambah peningkatan tertarget seperti ZRANK hingga 45 persen lebih cepat untuk leaderboard.
  • Logging terstruktur (logfmt dan ISO 8601) serta COMMANDLOG untuk melacak permintaan berukuran besar — sentuhan operabilitas kecil yang terakumulasi.

Redis juga tidak diam. Redis 8 membawa percepatan perintahnya sendiri dan menambahkan Vector Sets untuk pencarian embedding. Intinya bukan bahwa satu secara universal lebih cepat — melainkan keduanya kini dua produk terpisah dengan roadmap terpisah yang kebetulan berbagi leluhur.

Kompatibilitas drop-in: seberapa dekat sebenarnya?

Karena Valkey di-fork dari Redis 7.2.4 dan mempertahankan protokol RESP serta seluruh set perintah, kode aplikasi Anda tidak perlu berubah. Pustaka klien yang sama tersambung, perintah yang sama berjalan, berkas RDB dan AOF termuat. Di server saya sendiri, saya menghentikan kontainer Redis, menjalankan kontainer Valkey yang menunjuk ke direktori data yang sama, dan aplikasi tidak menyadari apa pun.

# Same client, same commands — this is the whole point
redis-cli -h cache.internal ping        # PONG
redis-cli -h cache.internal info server | grep -E 'redis_version|server_name'
# On Valkey you'll see something like:
#   server_name:valkey
#   valkey_version:8.1.0
#   redis_version:7.4.0   <- reported for client compatibility

Satu kasus tepi yang perlu diperhatikan: beberapa pustaka klien bercabang berdasarkan string versi atau negosiasi CLIENT INFO / HELLO. Valkey melaporkan redis_version demi kompatibilitas tetapi juga mengekspos server_name:valkey. Versi lama beberapa klien (ioredis yang paling menonjol) mengasumsikan perilaku khusus Redis saat penyiapan koneksi. Sematkan versi klien terkini dan uji handshake koneksi Anda sebelum memindahkan produksi.

Peringatan kompatibilitas lainnya adalah modul Redis berpemilik — RediSearch, RedisJSON, RedisBloom, dan Vector Sets yang lebih baru. Itu adalah fitur Redis Ltd dan bukan bagian dari Valkey. Valkey punya cerita modulnya sendiri dan padanan komunitas, tetapi jika tumpukan Anda bergantung khusus pada RediSearch, itulah batas yang membuat migrasi tidak sepele.

Valkey vs Redis sekilas

DimensiValkeyRedis (8.x)
LisensiBSD 3-Clause (open source OSI, permisif)Tri-lisensi: AGPLv3, RSALv2, SSPLv1
Tata kelolaLinux Foundation, netral vendor (AWS, Google, Oracle)Redis Ltd, dikendalikan satu perusahaan
Protokol / perintahRESP, set perintah lengkap Redis 7.2, drop-inRESP, superset dengan perintah lebih baru
Modul search / JSONModul komunitas dan asli Valkey; tanpa RediSearchRediSearch, RedisJSON, Vector Sets bawaan
Cloud terkelolaAWS ElastiCache, Google Memorystore, OCI Cache (sering lebih murah)Redis Cloud plus tingkatan Redis ElastiCache/Memorystore
Default distroDefault di Fedora, Ubuntu, Debian, ArchTersedia tetapi tidak lagi default distro

Jadi haruskah Anda migrasi?

Jawaban jujur saya, untuk cache atau penyimpanan sesi biasa, keputusannya berisiko rendah di kedua arah — itulah justru mengapa Anda sebaiknya memilih opsi dengan ikatan hukum yang lebih sedikit sebagai default. Beginilah cara saya membaginya.

  • Migrasi ke Valkey jika Anda self-host, menginginkan lisensi permisif BSD, peduli pada tata kelola netral vendor, atau ingin peningkatan memori dan threading 8.x tanpa pertanyaan lisensi.
  • Tetap di Redis jika Anda bergantung pada RediSearch, RedisJSON, atau Vector Sets, nyaman dengan AGPLv3, atau berjalan penuh di Redis Cloud dan menghargai dukungan bawaan.
  • Belum melakukan apa pun jika Anda memakai Redis terkelola yang berjalan baik tanpa tekanan lisensi, biaya, atau fitur — migrasi tanpa alasan hanyalah risiko sia-sia.

Bagaimana saya menjalankan migrasinya

  1. Inventarisasi penggunaan Anda: dump set perintah dan periksa modul berpemilik dengan MODULE LIST sebelum mengasumsikan pergantian mulus.
  2. Sematkan dan uji klien: tingkatkan pustaka klien Redis Anda ke versi terkini dan jalankan suite integrasi terhadap kontainer Valkey lokal.
  3. Replikasi, bukan dump-lalu-berdoa: arahkan replika Valkey ke primary Redis Anda dengan REPLICAOF, biarkan tersinkron, lalu promosikan saat jendela pemeliharaan.
  4. Pindahkan dan pantau: ganti connection string, jaga Redis lama tetap hangat untuk rollback cepat, dan pantau latensi serta tingkat error selama satu siklus lalu lintas penuh.
# Live migration via replication (zero-dump)
# On the new Valkey instance:
valkey-cli> REPLICAOF redis-primary.internal 6379
valkey-cli> INFO replication        # wait for master_link_status:up

# Once fully synced, promote Valkey to standalone:
valkey-cli> REPLICAOF NO ONE
# ...then repoint your app's connection string and keep Redis warm for rollback.

Karena Valkey berbicara dengan protokol replikasi Redis, Anda bisa menempelkan replika Valkey ke primary Redis yang hidup dan bermigrasi dengan waktu henti nyaris nol alih-alih mengambil snapshot dan mengimpornya. Uji langkah promosi di staging terlebih dahulu — rencana rollback-nya cukup mengarahkan kembali ke instance Redis yang tetap Anda jalankan.

Setelah melakukan ini di infrastruktur saya sendiri, pergantian untuk cache biasa benar-benar tanpa insiden — pekerjaan menariknya adalah audit versi klien dan memastikan tidak ada modul berpemilik yang terpakai, bukan pemindahan data itu sendiri. Itulah keseluruhan cerita drop-in yang baik: migrasi yang membosankan adalah migrasi yang berhasil.

FAQ

Pertanyaan Umum

Jawaban singkat untuk pertanyaan yang paling sering diajukan pembaca tentang topik ini.

Apakah Valkey pengganti drop-in untuk Redis?

Untuk beban caching, penyimpanan sesi, rate limiting, dan antrean standar, ya. Valkey di-fork dari Redis 7.2.4 dan mempertahankan protokol RESP serta set perintah lengkap, sehingga klien, perintah, dan berkas data RDB/AOF yang ada berjalan tanpa perubahan. Pengecualiannya adalah modul Redis berpemilik seperti RediSearch dan RedisJSON, yang bukan bagian dari Valkey.

Mengapa Valkey mem-fork dari Redis?

Pada Maret 2024 Redis Ltd beralih dari lisensi permisif BSD ke lisensi source-available (RSALv2 dan SSPLv1), yang bukan open source yang disetujui OSI. Dalam hitungan hari, para maintainer sebelumnya yang didukung AWS, Google, Oracle, dan Ericsson mem-fork Redis 7.2.4 menjadi Valkey di bawah Linux Foundation dengan lisensi BSD 3-Clause agar opsi yang benar-benar open source tetap tersedia.

Apakah Redis masih open source pada 2026?

Ya. Pada Mei 2025 Redis menambahkan AGPLv3, lisensi open source yang disetujui OSI, ke Redis 8 di samping tingkatan source-available-nya. Jadi Redis dan Valkey kini keduanya open source, tetapi AGPLv3 adalah lisensi copyleft dengan kewajiban penggunaan jaringan, sedangkan lisensi BSD Valkey hanya mewajibkan atribusi.

Apakah Valkey lebih cepat daripada Redis?

Valkey 8.0 dan 8.1 merilis I/O threading asinkron, hashtable hemat memori yang didesain ulang, dan prefetching iterator yang membuat sebagian operasi beberapa kali lebih cepat serta memangkas memori per kunci sebesar 20 hingga 30 byte. Redis 8 juga punya percepatannya sendiri, jadi lakukan benchmark terhadap beban kerja nyata Anda alih-alih mempercayai satu angka judul.

Bagaimana cara migrasi dari Redis ke Valkey tanpa downtime?

Karena Valkey berbicara dengan protokol replikasi Redis, tempelkan replika Valkey ke primary Redis Anda yang hidup menggunakan REPLICAOF, tunggu hingga tersinkron penuh, lalu promosikan dengan REPLICAOF NO ONE dan arahkan kembali connection string aplikasi Anda. Jaga instance Redis lama tetap berjalan hangat agar rollback cukup dengan mengembalikan connection string.