Redis nedir? Kısaca Redis, verilerini diskte değil doğrudan bellekte (RAM) tutan bir veri deposudur. Bu yüzden çok hızlı okuma ve yazma yapabilir. Web sitelerinde ve uygulamalarda onu en çok önbellek, kullanıcı oturumları ve arka plan iş kuyrukları için kullanırız. Böylece Redis, ana veritabanının her istekte tekrar tekrar aynı işi yapmasını önleyerek sayfaların ve uygulamaların daha hızlı yanıt vermesine yardım eder.
Kısaca
- Redis, verileri bellekte tutan ve basit anahtar-değer yapısının ötesinde liste, küme, hash gibi veri tipleri sunan bir veri deposudur.
- En yaygın kullanımları önbellek, oturum saklama, iş kuyrukları, sayaçlar ve sıralama tablolarıdır.
- Bellekte çalışsa da RDB anlık görüntüleri ve AOF günlüğüyle verileri diske yazabilir.
- Lisansı Mart 2024'te BSD'den RSALv2/SSPLv1'e geçti. Mayıs 2025'te Redis 8 ile AGPLv3 seçeneği eklendi.
- Valkey, Linux Foundation çatısı altında BSD lisansıyla geliştirilen, Redis 7.2.4'ten devam eden bir alternatiftir.
Redis nedir?
Redis adı "REmote DIctionary Server" ifadesinden gelir. Proje Salvatore Sanfilippo tarafından başlatıldı. Resmî dokümantasyon Redis'i bir "veri yapısı sunucusu" olarak tanımlar. Yani Redis'te değerler yalnız düz metin değil; liste, küme, sıralı küme, hash gibi temel veri yapıları da olabilir. Üstelik bu yapılar üzerinde atomik işlemler yapabilirsiniz.
Redis'in hızlı olmasının temel nedeni, veri setinin bellekte tutulmasıdır. Bellekten okumak, diskten okumaktan çok daha hızlıdır. Bunun bedeli de bellidir: Veri setiniz sunucunun belleğinden büyük olamaz ve bellek, diske göre daha pahalı bir kaynaktır.
Bir benzetme yapalım: Ana veritabanınız (ör. MySQL ya da PostgreSQL) şirketin arşiv odasıdır. Her şey oradadır ama bir dosyayı bulmak zaman alır. Redis ise masanızın üstündeki kısa not defteridir. Sık baktığınız bilgileri oraya yazarsınız, bir sonraki sefer arşive inmeden cevaba ulaşırsınız.
Redis hangi veri tiplerini destekler?
Redis'in temel veri tipleri şunlardır:
- String (metin): En basit tip. Bir anahtara bir değer. Önbellek ve sayaçlar için kullanılır.
- Hash: Alan-değer çiftlerinden oluşan kayıtlar. Bir kullanıcı profilini ya da ürün özetini tutmak için uygundur.
- List (liste): Ekleme sırasına göre dizilmiş öğeler. Basit iş kuyrukları için kullanılabilir.
- Set (küme): Tekrarsız öğelerden oluşan sırasız küme.
- Sorted set (sıralı küme): Her öğenin bir puanı vardır ve öğeler bu puana göre sıralı tutulur. Sıralama tabloları için idealdir.
- Stream: Olayların sırayla kaydedildiği, yalnızca sona eklenen bir günlük yapısı.
Bunların yanında coğrafi konum indeksleri, HyperLogLog gibi olasılıksal veri tipleri ve bitmap'ler de bulunur. Redis 8 ile birlikte JSON, zaman serisi ve vektör setleri gibi daha önce ayrı modüllerde bulunan özellikler de çekirdeğe dahil edildi.
Redis web sitelerini ve uygulamaları nasıl hızlandırır?
1. Önbellek (cache)
En yaygın kullanım budur. Uygulama bir veriye ihtiyaç duyduğunda önce Redis'e bakar. Veri oradaysa (cache hit) doğrudan döner. Yoksa (cache miss) ana veritabanından okur, sonucu bir süre için Redis'e yazar ve döner. Bir sonraki istekte aynı sorgu veritabanına hiç gitmez.
Örneğin bir ürün listesinin hesaplanması birkaç ağır veritabanı sorgusu gerektirebilir. Bu durumda sonucu birkaç dakikalığına Redis'te tutmak hem yanıt süresini kısaltır hem de veritabanı yükünü azaltır.
2. Oturum (session) saklama
Kullanıcı giriş yaptığında oturum bilgileri bir yerde tutulmalıdır. Uygulama birden fazla sunucuda çalışıyorsa, oturumların her sunucunun erişebileceği ortak bir yerde durması gerekir. Redis bu iş için sık tercih edilir, çünkü hızlıdır ve anahtarlara son kullanma süresi (TTL) tanımlanabilir.
3. İş kuyrukları
E-posta gönderme, PDF oluşturma, bir dış servise veri gönderme gibi işler kullanıcıyı bekletmemek için arka plana atılır. Bu işler bir kuyruğa yazılır, ayrı bir işçi süreç (worker) sırayla işler. Örneğin Laravel çerçevesi, kuyruk sürücüleri arasında veritabanı, Amazon SQS ve Beanstalkd'nin yanında Redis'i de sunar.
4. Sayaçlar, hız sınırlama ve sıralamalar
Bir API'ye dakikada kaç istek geldiğini saymak, bir kullanıcının giriş denemelerini sınırlamak ya da en çok görüntülenen içerikleri sıralamak bunlara örnektir. Redis'in atomik sayaç ve sıralı küme yapıları bu işleri kolaylaştırır.

WordPress sitelerinde Redis
WordPress'in kendi nesne önbelleği (object cache) varsayılan olarak kalıcı değildir. WordPress geliştirici belgelerine göre önbelleğe alınan veriler yalnızca o istek boyunca bellekte kalır ve kalıcı bir önbellek eklentisi kurulmadıkça sayfa yüklemeleri arasında saklanmaz. Redis ya da Memcached gibi bir sistem, bu nesne önbelleğini kalıcı hâle getirmek için kullanılır. Örneğin LiteSpeed Cache eklentisi, nesne önbelleği için Memcached, LiteSpeed'in LSMCD'si ve Redis'i destekler.
Bu, her WordPress sitesinin Redis'e ihtiyaç duyduğu anlamına gelmez. Ziyaretçilerin büyük kısmına önbelleğe alınmış sayfaların sunulduğu basit bir kurumsal sitede, sayfa önbelleği çoğu zaman yeterlidir. Redis nesne önbelleği daha çok giriş yapmış kullanıcıların yoğun olduğu, WooCommerce gibi dinamik içerikli ya da yönetim paneli yavaş çalışan sitelerde fark yaratır.
Redis kalıcı mıdır? Kalıcılık seçenekleri
"Bellekte çalışıyorsa sunucu kapanınca veriler kaybolur mu?" sorusu çok sorulur. Cevap, yapılandırmaya bağlıdır. Resmî dokümantasyona göre Redis'in kalıcılık seçenekleri şunlardır:
| Seçenek | Nasıl çalışır? | Güçlü yanı | Dikkat edilecek nokta |
|---|---|---|---|
| RDB (anlık görüntü) | Belirli aralıklarla veri setinin tamamının kopyasını diske yazar | Kompakt dosya, yedekleme ve hızlı yeniden başlatma için uygun | Son anlık görüntüden sonraki birkaç dakikalık veri kaybolabilir |
| AOF (yalnızca ekleme günlüğü) | Her yazma işlemini bir günlüğe ekler, açılışta tekrar oynatır | Daha dayanıklı; varsayılan ayarda (saniyede bir fsync) en fazla yaklaşık bir saniyelik veri kaybı | Dosyalar RDB'den büyüktür |
| Kalıcılık yok | Hiçbir şey diske yazılmaz | En basit yapı; saf önbellek için kullanılabilir | Yeniden başlatmada tüm veri gider |
| RDB + AOF | İkisi birlikte | Dokümantasyonun güçlü veri güvenliği için önerdiği yaklaşım | Daha fazla disk ve yapılandırma |
Pratik kural: Redis'i yalnız önbellek olarak kullanıyorsanız, kaybolan veri ana veritabanından yeniden oluşturulabilir ve kalıcılık o kadar kritik değildir. Oturum ya da kuyruk gibi kaybolması sorun yaratacak verileri Redis'te tutuyorsanız, kalıcılık ayarlarını bilinçli seçmeniz gerekir.
Bellek dolduğunda ne olacağını da belirlemek gerekir. maxmemory ayarıyla bir üst sınır konabilir. Sınıra ulaşıldığında Redis ya yazma komutlarına hata döner ya da yapılandırılan tahliye (eviction) politikasına göre bazı anahtarları siler.
Güvenlik: Redis internete açık olmamalı
Redis'in resmî güvenlik belgesi açıkça şunu söyler: Redis, güvenilir bir ortamdaki güvenilir istemcilerin erişmesi için tasarlanmıştır. Redis portunu doğrudan internete açmak iyi bir fikir değildir. Belgede, dışarıdan erişebilen bir saldırganın tek bir FLUSHALL komutuyla tüm veriyi silebileceği hatırlatılır.
Temel önlemler:
- Redis'i yalnız yerel ağ arayüzüne bağlayın (
bind 127.0.0.1) ya da güvenlik duvarıyla portu kapatın. - Parola ya da Redis 6 ile gelen erişim kontrol listeleri (ACL) ile kimlik doğrulamayı açın.
- Redis'i root olarak değil, ayrı ve yetkisi kısıtlı bir kullanıcıyla çalıştırın.
- Yazılım güncellemelerini takip edin. Bu, genel web sitesi bakımı planınızın bir parçası olmalıdır.
Redis lisans değişikliği: kısa tarihçe
Redis uzun yıllar boyunca açık kaynaklı BSD 3-Clause lisansıyla dağıtıldı. Son iki yılda bu durum iki kez değişti. Temmuz 2025 itibarıyla tablo şöyle:
- Redis 7.2 ve öncesi: BSD 3-Clause lisansı. Bu sürümler bu lisansla kullanılmaya devam edebilir.
- 20 Mart 2024: Redis şirketi, Redis 7.4'ten itibaren yeni sürümlerin RSALv2 (Redis Source Available License) ve SSPLv1 (Server Side Public License) ikili lisansıyla dağıtılacağını duyurdu. Şirket, bu lisansların OSI tanımına göre açık kaynak sayılmadığını açıkça kabul etti ve ücretsiz sürüme "Redis Community Edition" adını verdi. Şirketin açıklamasına göre kendi iç kullanımı için Redis kullanan son kullanıcılar için bir değişiklik yoktu. Kısıtlamalar daha çok Redis'i rakip bir yönetilen hizmet olarak sunan sağlayıcıları hedefliyordu.
- 1 Mayıs 2025: Redis 8 ile birlikte OSI onaylı açık kaynak lisansı AGPLv3, üçüncü bir seçenek olarak eklendi. Redis 8 ve sonrası RSALv2, SSPLv1 ya da AGPLv3 lisanslarından biriyle kullanılabilir. Ücretsiz sürümün adı da yeniden "Redis Open Source" oldu.
Bir web sitesi ya da kendi uygulamanızın içinde Redis kullanan bir işletme için bu değişiklikler genellikle günlük işleyişi etkilemez. Ancak Redis'i başkalarına hizmet olarak sunuyorsanız ya da yazılımınıza gömerek dağıtıyorsanız, lisans koşullarını bir uzmanla birlikte değerlendirmeniz gerekir.

Valkey nedir?
Lisans değişikliğinin ardından, 28 Mart 2024'te Linux Foundation, Valkey adlı projeyi duyurdu. Valkey, Redis'in BSD lisanslı son sürümü olan 7.2.4'ten geliştirmeye devam eden, BSD 3-Clause lisanslı açık kaynak bir bellek içi veri deposudur. Duyuruda destekçi olarak Amazon Web Services, Google Cloud, Oracle, Ericsson ve Snap Inc. yer aldı.
Valkey, Redis ile protokol düzeyinde uyumlu olarak başladığı için Redis istemci kütüphanelerinin çoğuyla çalışabilir. Valkey 8.0 Eylül 2024'te, Valkey 8.1 ise Nisan 2025'te yayımlandı. İki proje artık ayrı yollarda geliştiği için uzun vadede özellik farkları oluşabilir. Yeni bir projede Redis mi Valkey mi seçileceği; barındırma sağlayıcınızın sunduğu seçeneğe, ihtiyaç duyduğunuz özelliklere ve lisans tercihinize göre belirlenmelidir.
Redis ne zaman gerekli değildir?
- Siteniz küçük, trafiği düşük ve sayfa önbelleği ile zaten hızlı açılıyorsa.
- Yavaşlığın kaynağı veritabanı değil; ağır görseller, fazla JavaScript ya da yavaş bir sunucuysa.
- Sunucuyu yönetecek ve Redis'i güvenli biçimde yapılandıracak bir ekibiniz yoksa. Yanlış yapılandırılmış bir Redis, hız kazancından daha büyük bir risk oluşturur.
Bizim deneyimimiz
Projelerimizde önbellek katmanını "her projeye Redis" yaklaşımıyla değil, ölçerek ekliyoruz. Önce yavaşlığın gerçekten nereden geldiğine bakıyoruz: veritabanı sorgusu mu, ağır bir sayfa mı, yoksa ön yüzdeki dosyalar mı? Kurumsal WordPress sitelerinde çoğu zaman sayfa önbelleği ve ön yüz optimizasyonu yeterli oluyor. Örneğin bu sitede de LiteSpeed sunucu ve LiteSpeed Cache ile çalışıyoruz. Özel yazılım projelerinde ise oturumların, kuyrukların ve önbelleğin nerede tutulacağını mimari aşamada, yani backend tasarlanırken netleştiriyoruz.
Sık sorulan sorular
Redis bir veritabanı mı, önbellek mi?
İkisi de olabilir. Redis bir veri deposudur ve kalıcılık ayarlarıyla birincil veri deposu olarak da kullanılabilir. Ancak web projelerinde en yaygın kullanımı, ana veritabanının (MySQL, PostgreSQL vb.) önünde bir önbellek ve yardımcı veri deposu olmasıdır.
Redis kullanmak için VPS gerekir mi?
Genellikle evet. Redis bir sunucu yazılımıdır ve çoğu paylaşımlı hosting paketinde kurulamaz. Bazı hosting firmaları Redis'i hazır hizmet olarak sunar. Kendi sunucunuzda çalıştırmak istiyorsanız bir VPS ya da daha büyük bir sunucu gerekir. Bulut sağlayıcılarının yönetilen Redis ve Valkey hizmetleri de bir seçenektir.
Redis'in lisans değişikliği beni etkiler mi?
Redis'i kendi web sitenizde ya da uygulamanızın arka planında kullanıyorsanız, Redis'in açıklamalarına göre genellikle etkilemez. Redis'i başkalarına yönetilen bir hizmet olarak sunuyor ya da ürününüzle birlikte dağıtıyorsanız lisans koşullarını dikkatle incelemeniz gerekir.
Redis ile Valkey birbirinin yerine kullanılabilir mi?
Valkey, Redis 7.2.4'ten türetildiği için temel komutlar ve istemci kütüphaneleri açısından büyük ölçüde uyumludur. Ancak iki proje ayrı geliştiği için yeni sürümlere özgü özellikler farklılaşabilir. Geçiş yapmadan önce kullandığınız özellikleri test etmeniz gerekir.
Sonuç
Redis, doğru yerde kullanıldığında web sitelerini ve uygulamaları belirgin biçimde hızlandırabilen, esnek bir araçtır. Önbellek, oturum ve kuyruk gibi işlerde ana veritabanının yükünü alır. Ama her projeye gerekli değildir; kalıcılık, güvenlik ve lisans konularında bilinçli kararlar gerektirir.
Uygulamanızın ya da sitenizin performansını birlikte değerlendirmek isterseniz yazılım ve dijital çözümler ve WordPress geliştirme hizmetlerimize göz atabilirsiniz. Dilerseniz bize yazabilirsiniz.
Güncelleme (Ekim 2026): Valkey 9.0, Ekim 2025'te yayımlandı. Redis'in resmî lisans sayfasında Ekim 2026 itibarıyla tablo değişmedi: 7.2 ve öncesi BSD 3-Clause, 7.4.x sürümleri RSALv2/SSPLv1, 8.0 ve sonrası RSALv2, SSPLv1 ya da AGPLv3 seçenekleriyle dağıtılıyor.
Bu yazı bilgilendirme amaçlıdır, hukuki danışmanlık yerine geçmez.
Kaynaklar12
- Redis — Redis FAQ (adın kökeni, bellek, maxmemory). redis.io
- Redis — Redis data types. redis.io
- Redis — Redis persistence. redis.io
- Redis — Redis security. redis.io
- Redis — Redis Adopts Dual Source-Available Licensing (20 Mart 2024). redis.io
- Redis — Redis is now available under the AGPLv3 open source license (1 Mayıs 2025). redis.io
- Redis — Licenses. redis.io
- Linux Foundation — Linux Foundation Launches Open Source Valkey Community (28 Mart 2024). linuxfoundation.org
- Valkey — Blog (8.0, 8.1 ve 9.0 sürüm duyuruları). valkey.io
- WordPress Developer Resources — WP_Object_Cache. developer.wordpress.org
- LiteSpeed Docs — LSCache for WordPress, Cache settings (Object Cache). docs.litespeedtech.com
- Laravel — Queues (11.x). laravel.com



