Sep 26, 2022, 09:52 AM

News:

SMF - Just Installed!


Redis Nedir ? Ne yapar ?

Started by cee山, Jul 08, 2021, 03:06 PM

Previous topic - Next topic

cee山

Jul 08, 2021, 03:06 PM Last Edit: Jul 08, 2021, 03:45 PM by cee山
Redis nedir?
Remote Dictionary Server (Uzak Sözlük Sunucusu) ifadesinin kısaltması olan Redis; veritabanı, önbellek, ileti aracısı ve kuyruk olarak kullanılabilecek hızlı, açık kaynak, bellek içi anahtar-değer veri deposudur. Proje, Redis'in ilk geliştiricisi olan Salvatore Sanfilippo'nun, İtalya'daki startup şirketinin ölçeklenebilirliğini iyileştirmeye çalışması sırasında başladı. Redis artık bir milisaniyenin altında yanıt süreleriyle gerçek zamanlı Oyun, Reklamcılık Teknolojisi, Finansal Hizmetler, Sağlık Hizmetleri ve IoT uygulamaları için saniyede milyonlarca isteğin işlenmesini sağlıyor. Redis önbelleğe alma, oyun, lider tabloları, oturum yönetimi, gerçek zamanlı analiz, jeo-uzamsal, yolcu taşıma, sohbet/mesajlaşma, medya akışı ve yayımlama/abonelik uygulamaları için popüler bir seçenektir.

Redis nasıl çalışır?
Verileri disk veya SSD üzerinde depolayan veritabanlarından farklı olarak tüm Redis verileri bellek içinde tutulur. Redis gibi bellek içi veri depoları, disklere erişme gereksinimini ortadan kaldırarak arama süresi nedeniyle gecikme yaşanmasını önler ve verilere mikrosaniye cinsinden ölçülebilecek bir sürede erişebilir. Redis sunduğu çok amaçlı veri yapıları, yüksek erişilebilirlik, jeo-uzamsal, Lua betiği, işlemler, disk üzerinde süreklilik ve küme desteğiyle internet ölçeğinde gerçek zamanlı uygulamalar oluşturmayı kolaylaştırır.

Caching
Redis sık istenen öğeleri mili saniyenin altındaki yanıt sürelerinde sunabilmektedir.Redis ön belleğe alma işlemlerinden bazıları ;
  • Veritabanı sorgusu sonuçlarını ön belleğe alma,
  • Kalıcı oturumları ön belleğe alma,
  • Web sayfasını ön belleğe alma
  • Resimler, dosyalar ve meta veriler gibi sık kullanılan nesneleri ön belleğe alma,

Session Store
Redis oturumlarımızı saklamak için iyi ve popüler bir alternatif olarak karşımıza çıkıyor.Redis ile kullanıcı profilleri, kimlik bilgileri, kullanıcıya özgü veriler vb. gibi session verilerini mili saniyelere varan hızlarda okuyabilmenize olanak sağlar.

Queues
Projemizde ki bazı işlemler,bizden kaynaklı veya değil fazla zaman alırlar.Bizlerde genelde bu tarz işleri bir kuyruğa atıp arka planda çalışmasını isteyebiliriz.Zaten halihazırda popüler birçok web frameworküne de kuyruklar entegre edilmiş haldedir.
Counters
Redis'teki HINCRBY gibi atomik komutlar, sayesinde basit ve tasarruf sağlayan bir sayaç uygulaması oluşturabiliriz.Sayaç oluşturmak, için yapmanız gereken çok basit bir anahtar belirlemek ve HINCRBY komutunu ile artırmak.Hepsi bu kadar.Artış yapmadan önce veri okumaya gerek yok,güncellenecek veritabanı şemaları da yok.Gayet basit ve veri tabanını her seferinde meşgul etmeyeceğiniz bi işlem.Ayrıca HINCRBY komutu söylendiği atomik olduğu için sayaçlar, birden çok uygulama sunucusundan erişildiğinde tutarlılığı sağlayacaktır.Sayaçla işiniz bittiğinde nihai veriyi gene veritabanınıza kayıt edebilirsiniz.Ama işin asıl yoğunluk getiren kısmı için veri tabanındansa redisi tercih etmek tabi ki daha mantıklı.

2.yorumda Basit bir javascript/NodeJs uygulaması ile devam edilcek.

cee山