data-infra
Sözlük ↗Redis
Redis, milisaniyenin altında okuma/yazma gecikmesiyle değer bulan açık kaynaklı, bellek içi bir anahtar-değer veri deposudur; bu da onu modern SaaS backend'lerinde önbellekleme, session depolama, rate limiting, gerçek zamanlı skor tabloları ve pub/sub mesajlaşma için varsayılan seçim yapar. "Bellek içi" (in-memory), verinin diskte değil öncelikle RAM'de yaşadığı anlamına gelir; bu da onu basit anahtar aramaları için tipik bir ilişkisel veritabanından kabaca 10-100 kat daha hızlı yapan şeydir — bir yeniden başlatmada veri kaybetmeyi göze alamıyorsanız kasıtlı kalıcılık yapılandırması (RDB anlık görüntüleri, AOF logları) gerektirmesi pahasına. AI/SaaS kuran ekipler için neden önemli: Redis, bir AI ürününün altyapısının neredeyse her katmanında karşımıza çıkar. Pahalı LLM yanıtlarını önbelleğe alır, böylece aynı promptlar ücretli bir API çağrısını yeniden tetiklemez; API kotalarını zorlamak için kullanıcı başına rate-limit sayaçlarını saklar; embedding üretimini, webhook teslimatını ve arka plan AI işlerini asenkron olarak işleyen iş kuyruklarını (BullMQ, Sidekiq veya Laravel Horizon gibi kütüphaneler aracılığıyla) destekler; konuşmacı ajanlar için geçici sohbet session durumunu tutar; ve RediSearch modülüyle ("Redis Stack" olarak paketlenmiş), HNSW indekslemeyi ve hibrit aramayı destekleyen tam bir vektör deposu olarak işlev görebilir — bir ekip sırf embedding'ler için başka bir veritabanı daha eklemekten kaçınmak istediğinde kullanışlıdır. Nasıl çalışır: Redis, basit string'lerin ötesinde zengin veri yapılarını destekler — hash'ler, listeler, set'ler, sıralı set'ler, stream'ler — her biri atomik işlemlere sahiptir; bu da onu düz bir önbellekten öte, sliding-window rate limiter'lar (`INCR` + `EXPIRE`) veya gerçek zamanlı sayaçlar gibi şeyler için uygun kılar. Veri, yatay ölçek için node'lar arasında parçalanabilir (Redis Cluster) ve okuma ölçeklendirme ile failover için replike edilebilir (primary-replica). Yönetilen teklifler (Redis Cloud, AWS ElastiCache, Upstash) onu kendiniz çalıştırmanın operasyonel yükünü ortadan kaldırır; özellikle Upstash, sunucu başına değil istek başına faturalandırma yaptığı için serverless AI yığınlarında popüler hale gelmiştir, bu da sivri, cold-start'a eğilimli Vercel/Lambda dağıtımlarına uyar. Örnek üzerinden: bir AI yazma asistanı SaaS'ı, her OpenAI çağrısını bir cache-aside deseniyle sarar — modeli çağırmadan önce, prompt+parametreleri hash'ler ve Redis'te `GET cache:completion:{hash}` kontrol eder; bir miss durumunda, LLM'i çağırır, yanıtı `SETEX cache:completion:{hash} 3600 "<response>"` ile saklar ve döndürür. Tekrarlanan bir prompt ("bu başlığı iyileştir" gibi şablon tabanlı özelliklerde yaygın), 2 saniyelik, ölçülen bir API round trip'i yerine Redis'ten 2ms'nin altında sunulur; bu da hem gecikmeyi hem de inference maliyetini keser. Aynı Redis örneği, aynı anda uygulamanın Horizon tarzı iş kuyruğunun arka plan embedding işlerini işlemesini ve kullanıcı başına rate limiter'ını destekler — üç farklı endişeyi kapsayan tek bir altyapı parçası; Redis'in bir AI SaaS'ın yığınında herhangi bir özel vektör veritabanından çok önce ortaya çıkma eğiliminde olmasının tam nedeni de budur.
İlgili terimler