Linux’ta Redis’te Scan Komutlarını Kullanma
Açık kaynaklı, bellek içi bir veri yapısı deposu olan Redis, anahtar-değer veritabanı olarak hızı ve çok yönlülüğü ile bilinir. Güçlü özelliklerinden biri, scan komutlarını kullanarak veri kümeleri arasında artımlı olarak yineleme yapabilmesidir. Bu özellikle büyük veri kümeleri ile çalışırken kullanışlıdır, çünkü sunucuyu zorlamadan verimli veri alımına izin verir. Özel bir Linux sunucusundaki kullanıcılar için Redis’te scan komutlarını kullanmak, hassas, kaynak optimizasyonlu veri kümesi işlemeye izin vererek veri işleme performansını artırabilir. Bu makalede, Redis’teki scan komutlarının bir Linux ortamında nasıl etkili bir şekilde kullanılacağını keşfedeceğiz ve verileri büyük ölçekte yönetmek ve almak için ayrıntılı örnekler ve en iyi uygulamaları sunacağız.
Scan Komutları Nedir?
Redis’teki scan komutları, anahtarlar, kümeler, hash’ler ve sıralanmış kümeler üzerinde bloklama yapmadan yineleme yapmanın bir yolunu sağlar. Tüm eşleşen anahtarları bir kerede döndürdüğü için büyük veri kümeleri için tehlikeli olabilen KEYS komutunun aksine, scan komutları bir seferde az sayıda öğe döndürür. Bu, performans etkisini en aza indirir ve artımlı yinelemeye olanak tanır.
Anahtar Scan Komutları
- SCAN: Anahtar uzayında anahtarlar arasında yineleme yapar.
- SSCAN: Bir kümedeki öğeler arasında yineleme yapar.
- HSCAN: Bir hash içindeki alanlar ve değerler arasında yineleme yapar.
- ZSCAN: Sıralanmış bir kümedeki üyeler ve puanlar arasında yineleme yapar.
Scan tlarının Temel Sözdizimi
Her scan komutu benzer bir sözdizimine sahiptir:
- imleç: Scan başlanacak konumu temsil eden bir tamsayı. Yeni bir scan başlatmak için 0 kullanın.
- MATCH pattern: (isteğe bağlı) Döndürülen anahtarları filtrelemek için bir kalıp. Glob tarzı kalıpları destekler.
- COUNT count: (isteğe bağlı) Redis’e her yinelemede kaç öğe döndürüleceği hakkında bir ipucu.
Linux üzerinde Redis Kurulumu
CentOS/RHEL için şunu kullanın:
Kurulduktan sonra Redis sunucusunu başlatın:
Redis’e Bağlanma
Terminalinizi açın ve Redis CLI kullanarak Redis örneğinize bağlanın:
Artık Redis komutlarını CLI’da çalıştırabilirsiniz.
SCAN Komutunun Kullanılması
Örnek 1: Temel SCAN
Redis veritabanındaki tüm anahtarları almak için şunları kullanabilirsiniz:
Bu komut bir imleç ve bir tuş listesi döndürecektir.
Örnek 2: Anahtarları Filtrelemek için MATCH Kullanımı
“user:” ile başlayan anahtarlar gibi belirli bir kalıpla eşleşen anahtarları bulmak istiyorsanız, şunu kullanabilirsiniz:
Bu komut yalnızca “user:” ile başlayan anahtarları döndürür.
Örnek 3: COUNT Belirtme
Redis’in her yinelemede kaç anahtar döndürmesi gerektiğini belirtmek için bir sayı belirtebilirsiniz:
Bu, yaklaşık 10 anahtar döndürmeye çalışacaktır. Döndürülen gerçek sayının bundan daha az olabileceğini unutmayın.
Örnek 4: Tüm Anahtarlar Arasında Yineleme
Birden fazla yinelemede tüm tuşlar arasında yineleme yapmak için, döndürülen imleci izlemeniz gerekir. İşte basit bir kabuk betiği örneği:
cursor=0
while true; do
result=$(redis-cli SSCAN myset $cursor MATCH apple:*)
echo "$result" # Sonucu gerektiği gibi işleyin
cursor=$(echo "$result" | awk 'NR==1{print $1}') # İmleci güncelleyin
if [[ "$cursor" == "0" ]]; then
break # İmleç 0'a geri döndüğünde dur
fi
bitti
SSCAN Komutunun Kullanılması
SSCAN komutu, bir kümedeki öğeler arasında yineleme yapmak için kullanılır. Sözdizimi SCAN ile benzerdir:
SSCAN örneği
Adım 1: Bir Set Oluşturun ve Elemanları Ekleyin
Myset adında bir küme oluşturalım ve ona bazı öğeler ekleyelim: