Redis için Azure Cache’i yapılandırma

Tamamlandı

Spor istatistikleri geliştirme ekibiniz önbelleğe almanın son zamanlarda istenen veriler için performansı önemli ölçüde artırabileceğine karar verdi. Sonraki adımınız Redis için Azure Cache örneğini oluşturmak ve yapılandırmaktır.

Redis için Azure Cache örneğini oluşturma ve yapılandırma

Azure portalıyla, Azure CLI veya Azure PowerShell'le bir Redis önbelleği oluşturabilirsiniz. Önbelleği amaçlarınıza uygun şekilde yapılandırmak için karar vermeniz gereken birkaç parametre vardır.

Veri Akışı Adı

Redis önbelleğinizin genel olarak benzersiz bir ada ihtiyacı var. Hizmetle bağlantı kurmak ve hizmetle iletişim kurmak için genel kullanıma yönelik bir URL oluşturmak için kullanıldığından adın Azure içinde benzersiz olması gerekir.

Ad, sayılardan, harflerden ve - karakterden oluşan 1 ile 63 karakter arasında olmalıdır. Önbellek adı karakterle - başlayamaz veya bitemez ve ardışık - karakterler geçerli değildir.

Kaynak grubu

Redis için Azure Cache yönetilen bir kaynaktır ve bir kaynak grubuna ihtiyaç duyar. Yeni bir kaynak grubu oluşturabilir veya erişiminiz olan bir abonelikte mevcut bir kaynak grubunu kullanabilirsiniz.

Konum

Bir Azure bölgesi seçerek Redis önbelleğinin fiziksel olarak nerede bulunacağını belirlemeniz gerekir. Her zaman için önbellek örneğinizle uygulamanızı aynı bölgeye yerleştirmeniz gerekir. Farklı bir bölgedeki önbelleğe bağlanmak gecikme süresini önemli ölçüde artırabilir ve güvenilirliği azaltabilir. Azure dışındaki önbelleğe bağlanıyorsanız, verileri kullanan uygulamanın çalıştığı yere yakın bir konum seçin.

Önemli

Redis önbelleğini veri tüketicisine olabildiğince yaklaştırın.

Fiyatlandırma katmanı

Önceki ünitede belirtildiği gibi, bir Redis için Azure Cache için üç fiyatlandırma katmanı kullanılabilir.

  • Temel: Temel önbellek geliştirme/test için idealdir. Tek bir sunucu, 53 GB bellek ve 20.000 bağlantı ile sınırlıdır. Bu hizmet katmanı için SLA yoktur.
  • Standart: Bu, çoğaltmayı destekleyen ve %99,99 SLA içeren Üretim önbelleğidir. İki sunucuyu (birincil/ikincil) destekler ve Temel katmanla aynı bellek/bağlantı sınırlarına sahiptir.
  • Premium: Bu, Standart katmanını oluşturan ve kalıcılık, kümeleme ve ölçeği genişletme önbellek desteği içeren Kurumsal katmanıdır. Premium, 530 GB'a kadar bellek ve 40.000 eşzamanlı bağlantı ile en yüksek performanslı katmandır.

Temel/Standart için C0-C6 ve Premium için P0-P4'ten önbellek düzeyi seçerek her katmanda kullanılabilir önbellek miktarını denetleyebilirsiniz. Ayrıntılı bilgi için fiyatlandırma sayfasına bakın.

İpucu

Microsoft, üretim sistemleri için her zaman Standart veya Premium katmanı kullanmanızı önerir. Temel katman, veri çoğaltması olmayan ve SLA içermeyen tek düğümlü bir sistemdir. Ayrıca en az C1 önbelleği kullanın. C0 önbellekleri, paylaşılan bir CPU çekirdeğine ve çok az belleğe sahip olduklarından basit geliştirme/test senaryolarına yöneliktir.

Premium katmanı olağanüstü durum kurtarma sağlamak amacıyla verileri iki şekilde kalıcı hale getirmenizi sağlar:

  1. RDB kalıcılığı düzenli bir anlık görüntü alır ve bir hata olduğunda anlık görüntüyü kullanarak önbelleği yeniden oluşturabilir.

    Yeni bir Redis önbelleği örneğinde RDB kalıcılık seçeneklerini gösteren bir web tarayıcısının ekran görüntüsü.

  2. AOF kalıcılığı her yazma işlemini günlüğe kaydeder; bu da en azından saniyede bir kaydedilir. AOF, RDB'den daha büyük dosyalar oluşturur, ancak daha az veri kaybına sahiptir.

    Yeni bir Redis önbelleği örneğinde AOF kalıcılık seçeneklerini gösteren bir web tarayıcısının ekran görüntüsü.

Yalnızca Premium katmanında kullanılabilen birkaç ayar daha vardır.

Sanal Ağ desteği

Premium katmanlı bir Redis önbelleği oluşturursanız, bunu buluttaki bir sanal ağa dağıtabilirsiniz. Önbelleğiniz yalnızca aynı sanal ağdaki diğer sanal makineler ve uygulamalar tarafından kullanılabilir. Bir sanal ağa dağıtmak, hizmetinizin ve önbelleğinizin her ikisi de Azure'da barındırıldığında veya bir Azure sanal ağ VPN'i aracılığıyla bağlandığında daha yüksek bir güvenlik düzeyi sağlar.

Kümeleme desteği

Premium katmanında bir Redis önbelleğiyle, veri kümenizin birden çok düğüme ayırmak için kümeleme yapabilirsiniz. Kümeleme yapmak için, parça sayısını belirtirsiniz (en çok 10 parça olabilir). Tahakkuk eden maliyet, özgün düğümün parça sayısıyla çarpılmasıdır.

Redis örneğine erişme

Redis, bilinen komutlardan oluşan bir komut kümesini destekler. Komut genellikle COMMAND parameter1 parameter2 parameter3 şeklindedir.

Burada kullanabileceğiniz bazı yaygın komutlara yer verilmiştir:

Komut Açıklama
ping Sunucuya ping gönderir. "PONG" döndürür.
set [key] [value] Önbellekte bir anahtar/değer ayarlar. Başarılı sonuçta "OK" döndürür.
get [key] Önbellekten bir değer alır.
exists [key] Anahtar önbellekte varsa "1", yoksa "0" döndürür.
type [key] Belirli bir anahtar için değerle ilişkilendirilen türü döndürür.
incr [key] Anahtarla ilişkili verilen değeri bir artırma. Değerin tamsayı veya çift değer olması gerekir. Yeni değeri döndürür.
incrby [key] [amount] Anahtar ile ilişkilendirilen değeri belirtilen miktarda artırır. Değerin tamsayı veya çift değer olması gerekir. Yeni değeri döndürür.
del [key] Anahtar ile ilişkilendirilmiş değeri siler.
flushdb Veritabanındaki tüm anahtarları ve değerleri siler.

Bu komutlarla deneme yapmak için kullanabileceğiniz bir Redis komut satırı aracı (redis-cli) vardır. İşte bazı örnekler.

> set somekey somevalue
OK
> get somekey
"somevalue"
> exists somekey
(string) 1
> del somekey
(string) 1
> exists somekey
(string) 0

INCR komutlarıyla çalışma örnekleri aşağıda verilmiştir. Bu komutlar, önbelleği kullanan birden çok uygulamada atomik artışlar sağladığından kullanışlıdır.

> set counter 100
OK
> incr counter
(integer) 101
> incrby counter 50
(integer) 151
> type counter
(integer)

Değerlere süre sonu süresi ekleme

Önbelleğe alma, sık kullanılan değerleri bellekte depolama imkanı verdiğinden önemlidir. Ancak, eski olan değerlerin süresinin dolmasına yönelik bir yönteme de ihtiyacımız vardır. Redis, bir anahtara yaşam süresi (TTL) uygulayarak süre sonunu işler.

TTL süresi dolduğunda, anahtar tam olarak komutun DEL verildiği gibi otomatik olarak silinir. Aşağıda bulunan TTL sona erme tarihleriyle ilgili notları inceleyin.

  • Süre sonu saniye veya milisaniye hassaslığında ayarlanabilir.
  • Süre sonu çözünürlüğü her zaman bir milisaniyedir.
  • Redis sunucunuz durdurulmuş olarak kaldığında bile zaman sanal olarak geçer.
  • Süre sonu bilgileri diskte çoğaltılır ve kalıcı hale getirilir.
  • Redis, anahtarın süresinin dolacağı tarihi kaydeder.

Süre sonu örneği aşağıda verilmişti:

> set counter 100
OK
> expire counter 5
(integer) 1
> get counter
100
... wait ...
> get counter
(nil)

İstemciden Redis önbelleğine erişme

Bir Redis için Azure Cache örneğine bağlanabilmeniz için birkaç farklı bilgi gerekir. İstemcilerin ana bilgisayar adı, bağlantı noktası ve önbellek için bir erişim anahtarına ihtiyacı vardır. Bu bilgileri Azure portalında Ayarlar > Erişim Anahtarları sayfasından alabilirsiniz.

  • Ana bilgisayar adı, önbelleğinizin adı kullanılarak oluşturulan genel İnternet adresidir; örneğin, sportsresults.redis.cache.windows.net.

  • Erişim anahtarı, önbelleğiniz için parola işlevi görür. Birincil ve ikincil olmak üzere iki anahtar oluşturulmuştur. Anahtarlardan birini kullanabilirsiniz ve birincil anahtarı değiştirmeniz gerekirse iki anahtar sağlanır. tüm istemcilerinizi ikincil anahtara geçirip birincil anahtarı yeniden oluşturabilirsiniz. Ancak, özgün birincil anahtarı kullanan tüm uygulamalar engellenir. Microsoft, kişisel parolalarınız gibi anahtarları düzenli aralıklarla yeniden oluşturmanızı önerir.

Uyarı

Erişim anahtarlarınız gizli bilgiler olarak kabul edilmelidir; parola gibi davranın. Erişim anahtarına sahip olan herkes önbelleğinizde işlem gerçekleştirebilir!