Selamlar değerli meraklılar. Bugün, “benim sitemde de neden olmasın” düşüncesiyle yazma kararı aldığım Redis hakkında konuşacağım. Redis’in ne işe yaradığını ve projelerde neden sürekli duyduğumuzu aktaracağım.
Nedir Bu Redis?
Açılımı Remote Dictionary Service olan Redis, “C” diliyle hayata kazandırılan NoSQL çözümlerden bir tanesidir. MySQL, PostgreSQL vb. veritabanı, verileri disk üzerinde tutar. Normal şartlarda bir kullanıcı sitenize girdiğinde, sistem diske gider. Veriyi getirir ve kullanıcının karşısına çıkartır. Fakat yüksek trafikli yapılarda, IOPS değeri yüksek olmayan diskler, siteyi ağırlaştırır ve yavaşlatır. Redis, bu noktaya çözüm bulur. Çünkü, yapıları bellek üzerinde tutar. Bu da, hız kazandırır.
2009 yılında Salvatore Sanfilippo tarafından, bir İtalyan start-up’ının sorunlarını çözmek için ortaya çıkan Redis’in temel özelliklerine bakalım:
- Veri Yapısı Çeşitliliği: Key-Value haricinde listeler, setler, hashler, sorted setler tutabilir.
- Verilerin Kalıcılığı: Redis, Snapshot ve Append Only File yöntemiyle beraber verileri belirli aralıklarla diske yedekleyebilir. Bu da, kalıcılık kazandırır.
- Pub/Sub Desteği: Anlık mesajlaşma trafiğini de yönetebilen Redis, genel olarak chat, notification ve anlık veri akışları için de kullanılır.
Remote Dictionary Service’in Kullanım Senaryoları
- Cache: İlk olarak belirttiğim aslında “caching” Redis’in en popüler kullanım senaryosudur. Veritabanından alınması zul gelecek sorguların sonuçları doğrudan Redis’e aktarılır.
- Session: Kullanıcının giriş bilgilerini RAM’de tutar, her yeni sayfaya geçtiğinde “ya bu kullanıcı kimdi” diye veritabanı rahatsız edilmez.
- Rate Limit: Bir kullanıcının dakikada siteye kaç tane istek atabileceğini kontrol edebilir.
Önemli bir itibara sahip olan Redis, Docker ile nasıl kurulur?
Ne yaptık?
- --name ozer-redis: konteyner isimlendirildi,
- -p 6379:6379: Redis’in standart portu bağlandı,
- -d: arka planda çalışması sağlandı.
Redis’le iletişim kuracağımız terminal ekranını açtık. Anam babam usulü test:
- set ozer “ozeronguc.com.tr”
- get ozer
çıktı olarak karşınıza ozeronguc.com.tr yazısını verirse, artık Senior Redis Engineer’sınız.
