Tarayıcınız Javascript Desteklemiyor! Redis Nedir? | Zap Group Web Tasarım

Redis Nedir?

Redis Nedir?

Redis Nedir?

Redis (REmote DIctionary Server), genellikle bir veri yapı sunucusu olarak adlandırılan bir bellek içi, anahtar-değer veritabanıdır. Redis ve diğer anahtar-değer veritabanları arasındaki en önemli farklardan biri Redis'in yüksek seviye veri tiplerini saklama ve kullanma yeteneğidir. Bu veri türleri, çoğu geliştiricinin aşina olduğu temel veri yapılarıdır (listeler, haritalar, kümeler ve sıralanmış kümeler). Redis'in olağanüstü performansı, sadeliği ve veri yapılarının atomik manipülasyonu, geleneksel ilişkisel veritabanları ile uygulandığında zor veya kötü performans gösteren problemleri çözme konusunda bize borç verir.

 

YAYGIN KULLANIM DURUMLARI

Önbellekleme - Yüksek performansı nedeniyle , geliştiriciler okuma ve yazma işlemlerinin hacmi geleneksel veritabanlarının yeteneklerini aştığında Redis'e döndü. Redis'in verileri kolayca diske aktarma kabiliyeti sayesinde, önbellekleme için geleneksel memcached çözümüne üstün bir alternatiftir .

Yayınlama ve Abone Olma - Sürüm 2.0'dan bu yana Redis, Yayınlama / Abone Olma mesajlaşma paradigmasını kullanarak veri dağıtma olanağı sağlar . Bazı kuruluşlar , Redis'in sadeliği ve performansı nedeniyle Redis'e ve diğer ileti kuyruklama sistemlerinden (örneğin, RabbitMQ , zeromq ) uzaklaştı .

Kuyruklar - Resque gibi projeler , arka plan işlerini kuyruğa almak için arka uç olarak Redis'i kullanır.

Sayaçlar - HINCRBY gibi atomik komutlar , sayaçların basit ve işçilikten tasarruf sağlayan bir uygulamasına izin verir. Bir sayaç oluşturmak, bir anahtar için bir ad belirlemek ve HINCRBY komutunu vermek kadar basittir. Artıştan önce verileri okumaya gerek yoktur ve güncellenecek veritabanı şemaları yoktur. Bunlar atomik işlemler olduğundan sayaçlar, birden fazla uygulama sunucusundan erişildiğinde tutarlılığı koruyacaktır.

 

ANAHTAR ÖZELLIKLER

Üst Düzey Veri Yapıları - Değerler için beş olası veri türü sağlar : dizeler, listeler, kümeler, karma değerler ve sıralanmış kümeler. Bu veri türlerine özgü olan işlemler sağlanır ve iyi bir şekilde belgelenmiş zaman karmaşıklığı ile gelir (Big O notasyonu) .

Yüksek Performans - Bellek içi yapısı gereği, proje sahibinin karmaşıklığı minimumda tutma taahhüdü ve olaya dayalı bir programlama modeli olan Redis, okuma ve yazma işlemleri için olağanüstü bir performans sunar .

Bağımlılık Olmadan Hafif - ANSI C'de yazılmıştır ve dış bağımlılıkları yoktur. Tüm POSIX ortamlarında iyi çalışır. Windows resmi olarak desteklenmiyor, ancak Microsoft tarafından deneysel bir yapı sağlanıyor .

Yüksek Kullanılabilirlik - Verilerin yüksek kullanılabilirliğini sağlamak için zaman uyumsuz, engellemesiz, ana / bağımlı çoğaltma için yerleşik destek. Şu anda Redis Sentinel adında , şu anda kullanılabilen, ancak halen devam etmekte olan bir çalışma olarak kabul edilen yüksek kullanılabilirlikli bir çözüm var .

 

REDIS KULLANAN ŞIRKETLER

Twitter - Tüm kullanıcıların zaman çizelgelerini saklamak için büyük bir Redis kümesi kullandı. Liste veri yapısını kullanan Twitter, belirli bir kullanıcı için gelen en son 800 tweet'i saklar. Twitter tarafından verilen sunumu, zaman çizelgelerini ölçekte nasıl dağıttıklarına bakın .

Pinterest - Kullanıcı izleyici grafiklerini yüzlerce örnek boyunca verilerin paylaşıldığı Redis kümesinde saklar. Pinterest orijinal MySQL ve memcached çözümlerinin sınırlarına ulaştığını öğrendikten sonra Redis'e döndü. Pinterest'in Redis'i nasıl kullandığı hakkında daha fazla bilgi .

Github - Redis projesinin ilk uygulayıcılarından biri olan Github, kuyruğa yerleştirilmiş arka plan işlerinin yürütülmesini kolaylaştırmak için kütüphane, Resque'yi geliştirdi ve açık kaynak kullandı . Github geliştiricileri, Redis'in zor kuyruğa alma sorunlarının çoğunu çözdüğü gerçeğinden faydalandı; Github'ın iş kuyruğu ihtiyaçları için Redis'i nasıl kullandığı hakkında daha fazla bilgi .

 

PAKET SERVISI

Yüksek seviye veri yapılarının, yüksek performansın ve genel sezgiselliğin birleşimi, Redis'in bir geliştirici için İsviçre Ordusu veri depoları bıçağı olarak rolünü doldurmasını sağlar.

Redis, veri tabanındaki verilere uygulanan işlemlerin öngörülebilirliği sayesinde, gerçek zamanlı sistemler geliştirirken karşılaşılan zorlukları çözmek için çok uygundur.

Redis, performansının çoğunu verilerin her zaman bellekte kaldığı gerçeğine bağlıyor. Veriler diske aktarılabilir, ancak yanlış yapılandırma Redis düzgün şekilde kapatılmadığında veri kaybına neden olabilir.

redis