Skip to content

emka.web.id

writing knowledge, recording civilization

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Migrasi data Dari Redis ke Valkey

Posted on May 26, 2024

Dunia perangkat lunak open source (sumber terbuka) dikejutkan dengan keputusan Redis berpindah lisensi. Ini berarti Redis tidak lagi dianggap sebagai perangkat lunak open source. Artikel ini akan membahas cara mudah dan cepat beralih dari Redis ke Valkey, alternatif yang masih open source.

Kenapa Perlu Pindah?

Beberapa minggu lalu, perusahaan di balik Redis mengumumkan perubahan lisensi. Versi terbaru Redis akan menggunakan lisensi ganda RSALv2 (Redis Source Available License 2.0) / SSPLv1 (Server Side Public License).

Singkatnya, Redis tidak lagi open source menurut definisi OSI (Open Source Initiative). Akibatnya, sejumlah kontributor dan pengelola Redis membentuk Valkey, project baru dibawah Linux Foundation.

Valkey bisa dibilang kelanjutan open source Redis. Mereka menggunakan basis kode yang sama dan banyak developer yang turut bergabung. Tim teknis Valkey terdiri dari perwakilan Alibaba, AWS, Ericsson, Huawei, Google, dan Tencent, serta organisasi lain sebagai kontributor.

Migrasi ke Valkey

Sebagai pengguna setia Redis, bagaimana cara pindah ke Valkey?

Bagi pengguna Fedora, tersedia paket valkey-compat-redis untuk memindahkan data dan konfigurasi Anda ke Valkey.

Misalkan Anda sudah memiliki Redis terinstal, berjalan, dan berisi data.

Pertama, mari kita lihat informasi server Redis saat ini:

$ redis-cli info server
# Server
redis_version:7.2.4
# ...

Catat redis_version:7.2.4 untuk nanti.

Selanjutnya, kita akan menulis sedikit data ke key sebagai contoh:

$ redis-cli set test_key "data awal di redis 7.2.4"

Persistensi Data

Sebelum migrasi, penting untuk memperhatikan pengaturan persistensi (keawetan data) Anda. Redis (dan Valkey) menawarkan berbagai cara untuk menyimpan data secara permanen.

valkey-compat-redis akan menutup Redis dengan aman menggunakan perintah SIGTERM, tetapi tidak bisa menjamin keawetan data Anda. Jika persistensi tidak diatur atau opsi shutdown-on-sigterm pada konfigurasi Redis diatur ke now atau force, data Anda bisa hilang.

Namun, perlu diingat bahwa menggunakan valkey-compat-redis tidak berbeda dengan upgrade Redis pada umumnya dalam hal ini.

Instalasi Valkey

Sekarang saatnya pindah ke Valkey!

Instal valkey-compat-redis dengan flag allowerasing. Flag ini memberi tahu package manager untuk menghapus Redis dan menggantinya dengan Valkey.

$ sudo dnf install valkey-compat-redis --allowerasing

Perintah ini akan memindahkan file konfigurasi dan data persistensi Anda yang ada ke Valkey. Valkey dapat menerimanya secara langsung tanpa perlu perubahan atau konversi.

Valkey sepenuhnya kompatibel dengan API, protokol, data persistensi, port, dan file konfigurasi Redis.

Mengapa bisa demikian?

Karena Valkey 7.2.5, rilis terbaru saat ini, pada dasarnya hanya berganti nama dari Redis 7.2.4. Perubahan kode pada Valkey 7.2.5 hanya fokus pada branding, tanpa fitur atau fungsi baru yang berarti. Hal ini dilakukan untuk mempermudah migrasi pengguna ke Valkey.

Menjalankan Valkey

Setelah terinstal, jalankan Valkey:

$ sudo systemctl start valkey

Kemudian periksa informasi server:

$ redis-cli info server
# Server
redis_version:7.2.4
server_name:valkey
valkey_version:7.2.5
# ...

Perhatikan beberapa hal:

  • Valkey merespons dengan redis_version:7.2.4 dan valkey_version:7.2.5. Beberapa software mungkin memiliki pengecekan versi tertentu dan bisa error jika mendapat respon yang tidak dikenal. Dengan mempertahankan redis_version, kompatibilitas tetap terjaga.
  • Valkey memiliki binary bernama valkey-cli tetapi diberi tautan simbolik ke redis-cli. Ini memudahkan Anda yang terbiasa menggunakan redis-cli. Hal yang sama berlaku untuk valkey-server dan redis-server.

Berinteraksi dengan Valkey

Sekarang saatnya mengecek data dan berinteraksi dengan server. Pertama, coba ambil data yang sebelumnya ditulis di Redis (jika persistensi tidak aktif, langkah ini tidak akan berhasil):

$ valkey-cli get test_key
"data awal di redis 7.2.4"

Kemudian, kita bisa menulis data baru ke server dan mengambilnya kembali bersama dengan data awal yang ditulis di Redis

$ valkey-cli set dari-server-baru "data baru dari valkey-7.2.5"
OK
$ valkey-cli mget test_key dari-server-baru
1) "data awal di redis 7.2.4"
2) "data baru dari valkey-7.2.5"

Contoh ini menunjukkan beberapa hal penting. Pertama, karena valkey-compat-redis memindahkan konfigurasi Anda, konfigurasi tersebut tidak harus menjadi default. Apapun konfigurasi Redis 7.2.4 Anda, valkey-compat-redis akan memindahkan konfigurasi sederhana maupun kompleks ke Valkey yang dapat membacanya. Hal ini berarti langkah migrasi yang sama juga berlaku untuk Cluster atau Sentinel.

Kedua, karena Valkey terhubung dengan cara yang sama (menggunakan protokol dan port default), aplikasi Anda seharusnya tetap berfungsi. Menyediakan informasi koneksi yang sama ke aplikasi Anda yang sebelumnya mengarah ke Redis (dan sekarang mengarah ke Valkey) akan menghasilkan hasil yang sama.

Pertimbangan Lainnya

Tentu saja, ada beberapa hal yang tidak dapat diilustrasikan dalam contoh di atas:

  • Anda tidak harus menggunakan valkey-compat-redis. Anda dapat langsung menginstal valkey. Jika Anda sudah memiliki Redis di mesin dan menjalankan:
$ sudo dnf install valkey

Valkey akan terinstal bersama Redis. Namun, Anda tidak dapat menjalankan kedua proses secara bersamaan menggunakan konfigurasi default. Anda perlu mengubah file konfigurasi di /etc/valkey/valkey.conf untuk menggunakan port yang berbeda agar Valkey dan Redis dapat berjalan bersamaan. Bahkan, Anda dapat mengelompokkan Valkey dan Redis karena mereka menggunakan protokol yang sama, memungkinkan migrasi yang lebih kompleks.

  • Perlu diingat bahwa Valkey tidak lebih kompatibel ke belakang daripada Redis 7.2.4. Memigrasi dari versi Redis yang sangat lama ke Valkey membawa perubahan yang sama seperti beralih ke Redis 7.2.x. Untungnya, sebagian besar versi membawa perubahan minimal bahkan di antara versi utama.

Apa Selanjutnya?

Artikel ini berfokus pada apa yang tidak berubah dan mengapa hal itu baik. Tim Valkey berencana untuk tidak menambahkan fitur baru ke 7.2.x. Di masa depan, hanya perbaikan bug yang akan dirilis dalam bentuk patch. Semua perubahan baru akan dimasukkan ke dalam 8.x.

Meskipun tim sibuk merencanakan serangkaian fitur baru untuk meningkatkan kinerja dan kegunaan, mereka tidak berencana untuk merusak API.

Jika Anda tertarik untuk membantu mengembangkan Valkey, silakan kunjungi https://valkey.io/ dan baca file CONTRIBUTING.md untuk informasi lebih lanjut.

Terbaru

  • Fixing Windows Error 0x80070005 Hyper-V Export Access Denied Error the Right Way
  • Fixing Hyper V Export Errors and Building a Better Virtual Machine Setup (error 0x80070002, 0x80070005)
  • Fixing the Dreaded Windows Audio Service Stuck on Stopping Error
  • Windows SIM Error, Unknown error 0xc1420127
  • How I’m Building a Cat Breeding Management App with Python Qt6 + Microsoft Litebox, in 1 Week
  • Why Windows Keeps Nuking Your GPU Drivers (And How to Take Back Control)
  • Copy Prompt: A Modern Men’s Casual Fashion Studio Shoot
  • Why I Finally Ditched Mainstream Windows Cleaners (And Why I Use ‘Kudu’ Instead)
  • AI Made Everything Faster, Including Bad Decisions
  • Raspberry Pi Desktop Available of PC and Mac, Based on Debian 13
  • Why I Stopped Yelling at My PC When Error; Getting Windows 11 Voice Isolation and Access to Actually Work
  • Berobat Kanker ke Malaysia: Berapa Biayanya dan Apa Saja yang Perlu Disiapkan?
  • Stop Sending Every Prompt to the Biggest AI Model You Can Find
  • Stop Building AI Agents from Scratch: My Pick for the Best Native Windows Setup
  • Jev Is Faster and Cheaper, But I Still Recommend Clef. Here’s Why.
  • Weird XCP-NG Bug or Feature? Enable Maintenance Mode = Host Not Enough Memory
  • Vinix OS: Another OS That Want to Beat Linux, Try it!
  • Trying NVX, An Ultra-Light Micro-VM Sandbox from Microsoft
  • Learning NocoDB from Scratch: Creating a Simple Greenhouse App
  • How RHEL 10.2 Quietly Turned Into an Absolute Security Beast
  • Grab Videos from Anywhere with ReClip (Can Running Locally)
  • Jumped onto Ubuntu 26.04 LTS? Here’s How to Add a New User Account
  • Tutorial Cara Install WPS Office di Linux (Alternatif Microsoft Office)
  • Tutorial Upgrade Server Ubuntu 24.04 LTS ke Ubuntu 26.04 LTS dengan Aman
  • Inilah Alasan kenapa akun TikTok dibatasi tidak bisa klaim koin dan masalah pembatasan lainnya?
  • Apa penyebab gagal kirim SMS ke 89888 padahal pulsa masih ada?
  • Mengenal Donghua: Kenapa Animasi dari Tiongkok Ini Lagi Naik Daun Banget
  • OpenAI Bocorin Data Gambar Pengguna? Ini Kabar Terbaru Soal Insiden AI yang Bikin Heboh
  • Kenapa Postingan Instagram Kalian Sepi Like Padahal Followers Udah Banyak? Ini Rahasianya
  • Cara Menambah View Story Instagram Gratis Biar Nggak Sia-sia
  • Canonical: Ubuntu coming soon to Snapdragon X2 Series platforms
  • Finally, wolfSSL adds post-quantum algorithms!
  • How to Run Gemma Embedding Models Using Docker
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • Trying Nemotron 3.5 Super VL: NVIDIA’s Open Multimodal Model Built for Agents That Actually See and Act
  • Pruna AI Release their Qwen-Image 2.1 LoRA Adapter, 6x Faster than Regular Qwen
  • The Rise and Fall of the Coding Holy Grail: Is Stack Overflow Just AI Fuel Now?
  • Zyphra is The Pioneer, Why Everyone is Suddenly Obsessed with AMD and Not Just Nvidia Anymore
  • Stop Trusting Your Prompts to Save Your Business Data
  • Lagi rame bahas film horor Pirunduk, ternyata ini arti aslinya dalam bahasa Banjar
  • Kabar duka, pengacara senior Kamaruddin Simanjuntak meninggal dunia, sempat berjuang lawan penyakit ginjal
  • Kabar duka dari keluarga Marsha Aruan, Bunda Lisa meninggal dunia setelah sebelumnya sempat dirawat di rumah sakit
  • Lagi rame cari Mod Drag Bike 201m Sunmori, mending pakai yang resmi atau nekat download APK modifikasi?
  • Lagi ramai bahas tugas sekolah soal lingkungan, ternyata tiap profesi punya peran penting buat jaga kota tetap sehat

©2026 emka.web.id | Design: Newspaperly WordPress Theme