Menggunakan Perintah Pindai di Redis pada Linux
Redis, sebuah penyimpanan struktur data dalam memori yang bersifat open-source, dikenal dengan kecepatan dan keserbagunaannya sebagai basis data bernilai kunci. Salah satu fiturnya yang hebat adalah kemampuannya untuk melakukan iterasi secara bertahap melalui kumpulan data menggunakan perintah pemindaian. Hal ini sangat berguna ketika berurusan dengan kumpulan data yang besar, karena memungkinkan pengambilan data yang efisien tanpa membebani server. Untuk pengguna di server Linux khusus, menggunakan perintah pemindaian di Redis dapat meningkatkan performa penanganan data dengan memungkinkan pemrosesan dataset yang dioptimalkan dengan sumber daya yang tepat. Pada artikel ini, kita akan membahas cara menggunakan perintah pemindaian secara efektif di Redis dalam lingkungan Linux, dengan memberikan contoh mendetail dan praktik terbaik untuk mengelola dan mengambil data dalam skala besar…
Apa Itu Perintah Pindai?
Perintah pemindaian di Redis menyediakan cara untuk mengulang key, set, hash, dan set terurut dengan cara yang tidak memblokir. Tidak seperti perintah KEYS, yang dapat berbahaya untuk kumpulan data yang besar karena mengembalikan semua kunci yang cocok sekaligus, perintah pemindaian mengembalikan sejumlah kecil elemen dalam satu waktu. Hal ini meminimalkan dampak kinerja dan memungkinkan perulangan bertahap.
Perintah Pemindaian Kunci
- SCAN: Mengulang melalui tombol di keyspace.
- SSCAN: Mengulang melalui elemen dalam satu set.
- HSCAN: Mengulang melalui bidang dan nilai dalam hash.
- ZSCAN: Melakukan perulangan melalui anggota dan nilai dalam set yang diurutkan.
Sintaks Dasar Perintah Pindai
Setiap perintah pemindaian memiliki sintaks yang serupa:
- kursor Bilangan bulat yang mewakili posisi untuk memulai pemindaian. Untuk memulai pemindaian baru, gunakan 0.
- MATCH pattern (Pola pencocokan): (opsional) Pola untuk memfilter tombol yang dikembalikan. Mendukung pola gaya glob.
- COUNT hitungan: (opsional) Petunjuk untuk Redis tentang berapa banyak elemen yang akan dikembalikan dalam setiap perulangan.
Menginstal Redis di Linux
Untuk CentOS/RHEL, gunakan:
Setelah terinstal, mulai server Redis:
Menghubungkan ke Redis
Buka terminal Anda dan sambungkan ke instans Redis Anda menggunakan CLI Redis:
Anda kini dapat menjalankan perintah Redis di CLI.
Menggunakan Perintah SCAN
Contoh 1: Pemindaian dasar
Untuk mengambil semua kunci dalam basis data Redis, Anda dapat menggunakan:
Perintah ini akan mengembalikan kursor dan daftar kunci.
Contoh 2: Menggunakan MATCH untuk Menyaring Tombol
Jika Anda ingin menemukan kunci yang cocok dengan pola tertentu, seperti kunci yang dimulai dengan “user:”, Anda dapat menggunakan:
Perintah ini hanya mengembalikan kunci yang dimulai dengan “user:”.
Contoh 3: Menentukan COUNT
Untuk mengisyaratkan berapa banyak kunci yang harus dikembalikan Redis dalam setiap iterasi, Anda dapat menentukan hitungan:
Ini akan mencoba mengembalikan sekitar 10 kunci. Perhatikan bahwa jumlah sebenarnya yang dikembalikan mungkin kurang dari ini.
Contoh 4: Mengulang Melalui Semua Tombol
Untuk mengulang semua tombol dalam beberapa kali iterasi, Anda perlu melacak kursor yang dikembalikan. Berikut adalah contoh skrip shell sederhana:
cursor=0
while true; do
result=$(redis-cli SSCAN myset $cursor MATCH apple:*)
echo "$result" # Process the result as needed
cursor=$(echo "$result" | awk 'NR==1{print $1}') # Update the cursor
if [[ "$cursor" == "0" ]]; then
break # Stop when the cursor is back to 0
fi
done
Menggunakan Perintah SSCAN
Perintah SSCAN digunakan untuk mengulang elemen dalam sebuah set. Sintaksnya mirip dengan SCAN:
Contoh SSCAN
Langkah 1: Membuat Set dan Menambahkan Elemen
Mari kita buat sebuah set bernama myset dan tambahkan beberapa elemen ke dalamnya: