// Sadece Kendi Fikirlerim!

$ DBeaver Gibi Araçlar İçin Pratik Redis Sorguları

Redis, hızı ve esnekliğiyle bilinen bir bellek-içi (in-memory) veri deposudur. DBeaver gibi evrensel veritabanı istemcileri veya Redis'e özel GUI'ler (örn: RedisInsight), komut satırı yerine görsel bir arayüz üzerinden çalışmayı kolaylaştırır. İşte bu araçlarda en sık ihtiyaç duyacağınız temel yönetim ve sorgulama komutları.

Temel Yönetim ve Durum Komutları

Bu komutlar, sunucuyla bağlantınızı test etmek ve genel durum hakkında bilgi almak için kullanılır.

-- Sunucuya bağlı olup olmadığını kontrol et. "PONG" cevabı dönmeli.
PING

-- Sunucu hakkında detaylı bilgi al (versiyon, bellek kullanımı vb.).
INFO

-- Mevcut veritabanındaki tüm anahtarları sil (DİKKATLİ KULLANIN!).
FLUSHDB

-- Sunucudaki tüm veritabanlarındaki tüm anahtarları sil (ÇOK DİKKATLİ KULLANIN!).
FLUSHALL

-- Veritabanındaki toplam anahtar sayısını öğren.
DBSIZE

Anahtar-Değer (Key-Value) Sorguları

Redis'in en temel kullanım şekli olan basit anahtar-değer çiftleri üzerinde yapılan işlemler.

-- Bir anahtara metin bir değer ata.
SET kullanici:1:isim "Ahmet"

-- Bir anahtarın değerini oku.
GET kullanici:1:isim

-- Bir veya daha fazla anahtarı sil.
DEL kullanici:1:isim

-- Bir anahtarın var olup olmadığını kontrol et (1: var, 0: yok).
EXISTS kullanici:1:isim

-- Bir anahtarın ne kadar süre sonra silineceğini öğren (saniye cinsinden, -1: kalıcı).
TTL kullanici:1:isim

-- Bir anahtara 60 saniye sonra silinmesi için zaman aşımı ekle.
EXPIRE kullanici:1:isim 60

-- Veritabanındaki tüm anahtarları listele (UYARI: Prodüksiyonda yavaşlığa neden olabilir!).
KEYS *

-- Daha güvenli bir şekilde anahtarları tara. '0' başlangıç imlecidir.
SCAN 0 MATCH kullanici:* COUNT 100

İleri Veri Yapıları İçin Sorgular

Redis sadece basit metinler saklamaz. Listeler, Hash'ler ve Set'ler gibi güçlü veri yapıları sunar.

Hash'ler (Objeler gibi)

Bir anahtar altında birden fazla alan-değer çifti saklamak için idealdir.

-- Bir hash içinde birden fazla alan ata.
HSET urun:101 isim "Laptop" fiyat "35000" stok "15"

-- Bir hash içinden tek bir alanın değerini oku.
HGET urun:101 isim

-- Bir hash'in tüm alanlarını ve değerlerini getir.
HGETALL urun:101

Listeler (Diziler gibi)

Sıralı eleman koleksiyonları için kullanılır. Örneğin, log kayıtları veya bildirim sıraları.

-- Bir listenin başına eleman ekle.
LPUSH loglar "2025-06-12: Kullanıcı girişi başarılı."

-- Bir listenin sonuna eleman ekle.
RPUSH bildirimler "Yeni mesajınız var."

-- Bir listenin belirtilen aralıktaki elemanlarını getir (0 -1 tüm listeyi getirir).
LRANGE loglar 0 -1