Bu makalede, Redis için Azure Cache için geliştirme hakkında sık sorulan soruların yanıtları sağlanır.
Önemli
Redis için Azure Cache, tüm SKU'lar için kullanımdan kaldırma zaman çizelgesini duyurdu. Mevcut Redis için Azure Cache örneklerinizi en kısa sürede Azure Yönetilen Redis'e taşımanızı öneririz.
Geçiş kılavuzu:
- Temel, Standart ve Premium katmanlarını Azure Yönetilen Redis'e geçirme
- Kurumsal katmanı Azure Yönetilen Redis'e geçirme
Kullanımdan kaldırma hakkında daha fazla bilgi için:
Redis için Azure Cache kullanmaya nasıl başlayabilirim?
Redis için Azure Cache kullanmaya başlamanın birkaç yolu vardır.
- .NET, ASP.NET, Java, Node.js ve Python için sağlanan öğreticilerimizden birine göz atabilirsiniz.
- Microsoft Azure Cache for Redis kullanarak Yüksek Performanslı Uygulamalar Geliştirme'yi izleyebilirsiniz.
- Projenizde kullandığınız geliştirme diliyle eşleşen örnek istemcilerin istemci belgelerine göz atabilirsiniz. Redis için Azure Cache ile kullanılabilecek birçok Redis istemcisi vardır. Redis istemcilerinin listesi için bkz https://redis.io/clients. .
Henüz bir Azure hesabınız yoksa şunları yapabilirsiniz:
- Ücretsiz bir Azure hesabı açın. Ücretli Azure hizmetlerini denemek için kullanabileceğiniz krediler alırsınız. Krediler bitmiş olsa bile hesabı sürdürebilir ve ücretsiz Azure hizmet ve özelliklerinden faydalanabilirsiniz.
- Visual Studio abone avantajları etkinleştirin. MSDN aboneliğiniz, ücretli Azure hizmetlerinizi kullanabildiğiniz her ay size kredi verir.
StackExchange.Redis yapılandırma seçenekleri ne yapar?
StackExchange.Redis'in birçok seçeneği vardır. Bu bölümde bazı yaygın ayarlardan bahsedildi. StackExchange.Redis seçenekleri hakkında daha ayrıntılı bilgi için bkz . StackExchange.Redis yapılandırması.
| Yapılandırma Seçenekleri | Açıklama | Öneri |
|---|---|---|
| Bağlantı Başarısızsa Durdur | True olarak ayarlandığında, bir ağ hatasından sonra bağlantı yeniden bağlanamaz. | false olarak ayarlayın ve StackExchange.Redis'in otomatik olarak yeniden bağlanmasına izin verin. |
| ConnectRetry | İlk bağlantı sırasında bağlantı girişimlerini yineleme sayısı. | Yönergeler için aşağıdaki notlara bakın. |
| ConnectTimeout (Bağlantı Zaman Aşımı) | Bağlanma işlemleri için ms'de zaman aşımı. | Yönergeler için aşağıdaki notlara bakın. |
Genellikle istemcinin varsayılan değerleri yeterlidir. İş yükünüz temelinde seçeneklere ince ayar yapabilirsiniz.
Yeniden Denemeler
- ConnectRetry ve ConnectTimeout için genel kural, hızlı başarısız olmak ve yeniden denemektir. Bu kılavuz, iş yükünüz ve istemcinizin Redis komutu vermesi ve yanıt alması için ortalama --- süreye --- bağlıdır.
- StackExchange.Redis'in bağlantı durumunu denetlemek ve kendinizi yeniden bağlamak yerine otomatik olarak yeniden bağlanmasına izin verin. ConnectionMultiplexer.IsConnected özelliğini kullanmaktan kaçının.
- Kartopu - yeniden denediğiniz ve kartopunu yeniden denediğiniz ve asla iyileşmediği bir sorunla karşılaşabilirsiniz. Kartopu oluşursa, Microsoft Patterns & Practices grubu tarafından yayımlanan genel yönergeleri yeniden deneme bölümünde açıklandığı gibi üstel geri alma yeniden deneme algoritması kullanmayı göz önünde bulundurun.
Zaman aşımı değerleri
- İş yükünüzü göz önünde bulundurun ve değerleri eşleşecek şekilde ayarlayın. Büyük değerleri depoluyorsanız zaman aşımını daha yüksek bir değere ayarlayın.
- false olarak ayarlayın
AbortOnConnectFailve StackExchange.Redis'in sizin için yeniden bağlanmasına izin verin. - Her istek için yeni bir bağlantı oluşturmak yerine tek, uzun ömürlü
ConnectionMultiplexerbir örnek kullanın. - Tanılama amacıyla
ConnectionMultiplexer.ClientNameözelliğini, uygulama örneğine özgü benzersiz bir ad olarak ayarlayın. - Özel iş yükleri için birden çok
ConnectionMultiplexerörnek kullanın.- Uygulamanızda değişen yük varsa bu modeli izleyebilirsiniz. Örneğin:
- Büyük anahtarlarla ilgilenmek için bir çoklayıcınız olabilir.
- Küçük anahtarlarla ilgilenmek için bir çoklayıcı kullanabilirsiniz.
- Bağlantı zaman aşımları için farklı değerler ayarlayabilir ve kullandığınız her ConnectionMultiplexer için mantığı yeniden deneyebilirsiniz.
-
ClientNameözelliğini her bir çoğullayıcıda ayarlayın ve böylece tanılamaya yardımcı olun. - Bu kılavuz,
ConnectionMultiplexerbaşına daha az karmaşık bir gecikme süresine yol açabilir.
Hangi Redis için Azure Cache istemcilerini kullanabilirim?
Redis'in en iyi yanlarından biri, birçok farklı geliştirme dilini destekleyen birçok müşteri olmasıdır. Geçerli istemci listesi için bkz . Redis istemcileri.
Azure portalından önbellek ana bilgisayar adını, bağlantı noktasını ve erişim anahtarlarını alma
Azure Redis önbelleğinize bağlanmak için önbellek istemcisinin önbellek ana bilgisayar adına, bağlantı noktalarına ve anahtarlara ihtiyacı vardır. Bazı istemciler bu öğelere biraz daha farklı adlarla başvurabilir. Azure portalından önbellek ana bilgisayar adını, bağlantı noktalarını ve anahtarları almak için bu yönergeleri izleyin.
Önbellek Genel Bakış sayfasından ana bilgisayar adını alın. Ana bilgisayar adı biçimindedir
<cachename>.redis.cache.windows.net.Bağlantı noktalarını almak için Bağlantı Noktaları'nın yanındaki bağlantıyı seçin. Kurumsal ve Kurumsal Flash katmanı önbellekleri
10000bağlantı noktasını kullanır. Temel, Standart ve Premium katman önbellekleri Aktarım Katmanı Güvenliği (TLS) bağlantıları için bağlantı noktasını6380veya TLS olmayan bağlantılar için bağlantı noktasını6379kullanır.Erişim anahtarlarını almak için Erişim anahtarlarını göster'i seçin.
CacheKeys bölmesinde anahtarlar görüntülenir.
Sol gezinti menüsünde Ayarlar'ın altında Kimlik Doğrulaması'nı ve ardından Erişim anahtarları sekmesini de seçebilirsiniz.
Redis için Azure Cache için yerel öykünücü var mı?
Redis için Azure Cache için yerel öykünücü yoktur. Ancak, aşağıdaki örnekte gösterildiği gibi yerel makinenizde topluluk Redis'in bir kopyasını çalıştırabilir ve yerel önbellek öykünücüsünün benzer bir deneyimini elde etmek için buna bağlanabilirsiniz:
private static Lazy<ConnectionMultiplexer>
lazyConnection = new Lazy<ConnectionMultiplexer> (() =>
{
// Connect to a locally running instance of Redis to simulate
// a local cache emulator experience.
return ConnectionMultiplexer.Connect("127.0.0.1:6379");
});
public static ConnectionMultiplexer Connection
{
get
{
return lazyConnection.Value;
}
}
Redis, Linux üzerinde yerel olarak çalışır, ancak redis'i windows makinesinde çalıştırmak için Linux için Windows Alt Sistemi de kullanabilirsiniz. Daha fazla bilgi için bkz. Windows'a Redis Yükleme İsterseniz, çevrimiçi Redis için Azure Cache için varsayılan önbellek ayarlarıyla daha yakından eşleşmesi için isteğe bağlı olarak bir redis.conf dosyası yapılandırabilirsiniz.
Redis komutlarını nasıl çalıştırabilirim?
Redis komutlarında listelenen komutlardan herhangi birini, Redis için Azure Cache'de desteklenmeyen Redis komutlarında listelenen komutlar dışında kullanabilirsiniz. Redis komutlarını çalıştırmak için çeşitli seçenekleriniz vardır.
Standart veya Premium önbelleğiniz varsa Redis Konsolunu kullanarak Redis komutlarını çalıştırabilirsiniz. Redis konsolu, Azure portalında Redis komutlarını çalıştırmak için güvenli bir yol sağlar.
Redis komut satırı araçlarını da kullanabilirsiniz. Bunları kullanmak için bkz. redis komut satırı aracını Redis için Azure Cache ile kullanma
Redis için Azure Cache'in neden MSDN sınıf kitaplığı referansı yok?
Microsoft Redis için Azure Cache popüler açık kaynak bellek içi veri deposu Redis'i temel alır. Birçok programlama dili için çok çeşitli Redis istemcileri kullanabilirsiniz. Her istemcinin Redis komutlarını kullanarak Redis için Azure Cache örneğine çağrı yapan kendi API'leri vardır.
Her istemci farklı olduğundan MSDN'de tek bir merkezi sınıf başvurusu bulamazsınız. Her bir istemci kendi referans dökümanlarını tutar. Başvuru belgelerinin yanı sıra, farklı diller ve önbellek istemcileri kullanarak Redis için Azure Cache kullanmaya başlamayı gösteren çeşitli öğreticiler vardır.
Redis için Azure Cache PHP oturum önbelleği olarak kullanabilir miyim?
Evet, Azure Cache for Redis'i PHP oturum önbelleği olarak kullanmak için session.save_path içinde, Azure Cache for Redis örneğinizin bağlantı dizesini belirtin.
Önemli
php oturum önbelleği olarak Redis için Azure Cache kullanırken, aşağıdaki örnekte gösterildiği gibi, önbelleğe bağlanmak için kullanılan güvenlik anahtarını URL ile kodlamanız gerekir:
session.save_path = "tcp://mycache.redis.cache.windows.net:6379?auth=<url encoded primary or secondary key here>";
Anahtar URL kodlanmamışsa, aşağıdakine benzer bir hata mesajıyla karşılaşabilirsiniz: Failed to parse session.save_path
phpRedis istemcisiyle php oturum önbelleği olarak Redis için Azure Cache kullanma hakkında daha fazla bilgi için bkz. PHP Oturum işleyicisi.
Redis veritabanları nedir?
Redis Veritabanları, aynı Redis örneği içindeki verilerin mantıksal ayrımıdır. Önbellek belleği tüm veritabanları arasında paylaşılır ve belirli bir veritabanının gerçek bellek tüketimi bu veritabanında depolanan anahtarlara/değerlere bağlıdır. Örneğin, bir C6 önbelleği 53 GB belleğe sahiptir ve bir P5, 120 GB belleğe sahiptir. 53 GB/ 120 GB'ın tümünü tek bir veritabanına yerleştirmeyi seçebilir veya birden çok veritabanı arasında bölebilirsiniz.
Not
Kümeleme etkin bir Premium Redis için Azure Cache kullanırken yalnızca 0 veritabanı kullanılabilir. Bu sınırlama, bir iç Redis sınırlamasıdır ve Redis için Azure Cache özgü değildir.
İlgili içerik
Diğer Azure Cache Redis için SSS hakkında bilgi edinin.