Menggunakan Perintah Pindai di Redis pada Linux ⋆ ALexHost SRL
Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills
04.06.2025

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

  1. SCAN: Mengulang melalui tombol di keyspace.
  2. SSCAN: Mengulang melalui elemen dalam satu set.
  3. HSCAN: Mengulang melalui bidang dan nilai dalam hash.
  4. ZSCAN: Melakukan perulangan melalui anggota dan nilai dalam set yang diurutkan.

Sintaks Dasar Perintah Pindai

Setiap perintah pemindaian memiliki sintaks yang serupa:

Kursor SCAN [Pola MATCH] [Hitung jumlah]
  • 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

Sebelum kita membahas penggunaan perintah pemindaian, pastikan bahwa Redis telah terinstal pada sistem Linux Anda. Bagi mereka yang menggunakan Server Khusus Debian, menyiapkan Redis sangatlah mudah dan dapat meningkatkan kemampuan server untuk menangani pemrosesan data dalam memori secara efisien. Berikut ini adalah cara menginstal Redis pada sistem berbasis Debian, untuk memastikan lingkungan yang stabil yang dioptimalkan untuk operasi berkinerja tinggi.

Dengan mengikuti langkah-langkah ini, Anda akan menyiapkan Redis dengan cara memanfaatkan sumber daya dan stabilitas server Debian khusus Anda, ideal untuk tugas-tugas penanganan data yang tangguh.

sudo apt update
sudo apt install redis-server

Untuk CentOS/RHEL, gunakan:

sudo yum install redis

Setelah terinstal, mulai server Redis:

sudo systemctl start redis

Menghubungkan ke Redis

Buka terminal Anda dan sambungkan ke instans Redis Anda menggunakan CLI Redis:

redis-cli

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:

SCAN 0

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:

SCAN 0 MATCH nama pengguna:*

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:

PINDAI 0 HITUNG 10

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:

Kursor tombol SSCAN [Pola MATCH] [Hitung jumlah]

Contoh SSCAN

Langkah 1: Membuat Set dan Menambahkan Elemen

Mari kita buat sebuah set bernama myset dan tambahkan beberapa elemen ke dalamnya:

SADD myset "apple"
SADD myset "banana"
SADD myset "cherry"
SADD myset "date"
SADD myset "elderberry"

Langkah 2: Gunakan Perintah SSCAN

Sekarang kita memiliki sebuah himpunan bernama myset, kita dapat menggunakan perintah SSCAN untuk mengulang elemen-elemennya.

  1. Perintah SSCAN Dasar: Misalkan Anda memiliki sebuah set bernama “myset”. Untuk memindai elemen-elemennya:
    SSCAN myset 0
  2. Menggunakan MATCH:Untuk menyaring elemen dalam set berdasarkan pola dan menambahkan beberapa elemen yang menyertakan kata “mangga” dan variasi lainnya::
    SSCAN myset 0 MATCH mangga:*
  3. MengulangMelalui Sebuah Himpunan:Anda dapat menggunakan perulangan untuk mengulang melalui sebuah himpunan:

#!/bin/bash
cursor=0
echo "Scanning through myset:"
while true; do
# Scan the set
result=$(redis-cli SSCAN myset $cursor)
# Print the elements returned by SSCAN
echo "$result"
# Update the cursor for the next iteration
cursor=$(echo "$result" | awk 'NR==1{print $1}')
# Break the loop if cursor is back to 0
if [[ "$cursor" == "0" ]]; then
break
fi
done

Menjalankan Skrip

  1. Simpan skrip sebagai scan_myset.sh.
  2. Buatlah skrip tersebut dapat dieksekusi:
    chmod x scan_myset.sh
  3. Jalankan skrip tersebut:
    ./scan_myset.sh

Menggunakan Perintah HSCAN dan ZSCAN

Perintah HSCAN

Perintah HSCAN mengulang melalui bidang dan nilai dalam hash:

Kursor tombol HSCAN [pola MATCH] [hitungan COUNT]

Perintah HSCAN digunakan untuk mengulang bidang dan nilai dalam hash.

Langkah 1: Membuat Hash dan Menambahkan Bidang

  1. Buat hash bernama myhash dan tambahkan beberapa bidang ke dalamnya:
HSET myhash name "John Doe"
HSET myhash age "30"
HSET myhash occupation "Software Developer"
HSET myhash city "San Francisco"
HSET myhash country "USA"

Langkah 2: Gunakan HSCAN untuk mengulang melalui hash

  1. Gunakan perintah HSCAN untuk mengulang melalui bidang-bidang di myhash:
HSCAN myhash 0

Perintah ZSCAN

ZSCAN adalah perintah Redis yang digunakan untuk mengulangi anggota dari sebuah himpunan yang diurutkan secara bertahap. Perintah ini memungkinkan Anda untuk mengambil anggota bersama dengan nilai yang terkait dengan cara yang efisien dan tidak memblokir. Perintah ini sangat berguna untuk bekerja dengan set terurut yang besar di mana mengambil semua anggota sekaligus mungkin tidak praktis.

Perintah ZSCAN mengulang-ulang anggota dan skor dalam set yang diurutkan:

Kursor tombol ZSCAN [Pola MATCH] [Hitung jumlah]

Langkah 1: Buat Himpunan Terurut dan Tambahkan Anggota

Mari kita buat sebuah set terurut bernama mysortedset dan tambahkan beberapa anggota dengan skor:

ZADD mysortedset 1 "apple"
ZADD mysortedset 2 "banana"
ZADD mysortedset 3 "cherry"

Perintah Dasar ZSCAN:

Untuk mulai memindai kumpulan yang sudah diurutkan, gunakan:

ZSCAN mysortedset 0

Langkah 2: Menggunakan MATCH untuk Menyaring Anggota (Opsional)

Jika Anda ingin memfilter anggota yang dikembalikan oleh ZSCAN, Anda dapat menggunakan opsi MATCH. Misalnya, untuk menemukan anggota yang mengandung huruf “e”, Anda dapat menjalankan:

ZSCAN mysortedset 0 MATCH * e*

Praktik Terbaik untuk Menggunakan Perintah Pindai

  1. Gunakan SCAN daripada KEYS: Hindari menggunakan perintah KEYS dalam produksi karena dapat memblokir server. Gunakan SCAN untuk iterasi tanpa pemblokiran.
  2. Kombinasikan dengan MATCH dan COUNT: Manfaatkan opsi MATCH dan COUNT untuk meningkatkan kinerja dan membatasi kumpulan hasil.
  3. Menangani Kumpulan Data Besar: Saat menangani kumpulan data yang besar, proses kunci secara berkelompok menggunakan kursor untuk mengelola memori secara efektif.
  4. Uji dalam Pengembangan: Selalu uji logika pemindaian Anda di lingkungan pengembangan untuk memastikan logika tersebut berperilaku seperti yang diharapkan sebelum diterapkan dalam produksi.

Kesimpulan

Menggunakan perintah pemindaian di Redis memungkinkan Anda untuk melakukan iterasi secara efisien melalui kumpulan data yang besar di lingkungan Linux tanpa membebani server Anda. Dengan memahami cara menggunakan SCAN, SSCAN, HSCAN, dan ZSCAN, Anda dapat secara efektif mengelola dan mengambil data dari Redis. Perintah-perintah ini sangat penting untuk membangun aplikasi terukur yang memerlukan pemrosesan data secara real-time. Untuk informasi lebih lanjut dan penggunaan yang mendetail, lihat dokumentasi resmi Redis dan bereksperimenlah dengan perintah-perintah ini di lingkungan Redis Anda.

Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills