Linux’ta Redis’te Tarama 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, tarama 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 tarama komutlarını kullanmak, hassas, kaynak optimizasyonlu veri kümesi işlemeye izin vererek veri işleme performansını artırabilir. Bu makalede, Redis’te tarama 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
Tarama Komutları Nedir?
Redis’teki tarama komutları, anahtarlar, kümeler, hash’ler ve sıralanmış kümeler üzerinde bloklama olmadan 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, tarama 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 Tarama 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.
Tarama Komutlarının Temel Sözdizimi
Her tarama komutu benzer bir sözdizimine sahiptir
- imleç: Taramaya başlanacak konumu temsil eden bir tamsayı. Yeni bir tarama 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 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 TARAMA
Redis veritabanındaki tüm anahtarları almak için kullanabilirsiniz
Bu komut bir imleç ve tuş listesi döndürecektir
Örnek 2: Tuşları 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" # 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
SSCAN Komutunun Kullanılması
SSCAN komutu, bir kümedeki öğeler arasında yineleme yapmak için kullanılır. Sözdizimi SCAN’a benzer
SSCAN örneği
Adım 1: Bir Set Oluşturun ve Elemanları Ekleyin
Myset adında bir küme oluşturalım ve buna bazı öğeler ekleyelim