Tento článek obsahuje odpovědi na běžné otázky týkající se vývoje služby Azure Cache for Redis.
Důležité
Služba Azure Cache for Redis oznámila časovou osu vyřazení všech skladových položek. Doporučujeme přesunout stávající instance Azure Cache for Redis do Azure Managed Redis, jakmile budete moct.
Pokyny k migraci:
- Migrace úrovní Basic, Standard a Premium do Azure Managed Redis
- Migrace podnikové úrovně do Azure Managed Redis
Další podrobnosti o ukončení podpory:
Jak můžu začít se službou Azure Cache for Redis?
Azure Cache for Redis můžete začít používat několika způsoby.
- Můžete se podívat na jeden z našich kurzů dostupných pro .NET, ASP.NET, Javu, Node.js a Python.
- Můžete se podívat , jak vytvářet vysoce výkonné aplikace pomocí služby Microsoft Azure Cache for Redis.
- Můžete si prohlédnout dokumentaci pro ukázkové klienty, kteří odpovídají vývojovému jazyku, který používáte ve svém projektu. Existuje mnoho klientů Redis, které je možné použít se službou Azure Cache for Redis. Seznam klientů Redis najdete v tématu https://redis.io/clients.
Pokud ještě nemáte účet Azure, můžete:
- Otevřít bezplatný účet Azure. Získáte kredity, které můžete použít k vyzkoušení placených služeb Azure. I po vyčerpání kreditů si můžete účet ponechat a používat bezplatné funkce a služby Azure.
- Aktivovat výhody pro předplatitele sady Visual Studio. Díky předplatnému MSDN každý měsíc získáváte kredity, které můžete použít pro placené služby Azure.
Co dělají možnosti konfigurace StackExchange.Redis?
StackExchange.Redis má mnoho možností. Tato část se týká některých běžných nastavení. Podrobnější informace o možnostech StackExchange.Redis naleznete v tématu Konfigurace StackExchange.Redis.
| ConfigurationOptions | Popis | Doporučení |
|---|---|---|
| AbortOnConnectFail | Pokud je nastaveno na hodnotu true, připojení se po selhání sítě nemůže obnovit. | Nastavte na false a nechte StackExchange.Redis znovu připojit automaticky. |
| Opakovaný Pokus o Připojení (ConnectRetry) | Počet opakování pokusů o připojení během počátečního připojení | Pokyny najdete v následujících poznámkách. |
| Časový limit připojení | Časový limit v ms pro operace připojení. | Pokyny najdete v následujících poznámkách. |
Obvykle jsou dostačující výchozí hodnoty klienta. Možnosti můžete vyladit na základě vaší úlohy.
Opakování
- V případě ConnectRetry a ConnectTimeout je obecné doporučení rychle nechat selhat a zkusit to znovu. Tyto pokyny jsou založené na vaší úloze a na tom, kolik času trvá---o průměru---pokud klient vydá příkaz Redis a obdrží odpověď.
- Nechte StackExchange.Redis automaticky znovu připojit místo kontroly stavu připojení a znovu se připojte. Vyhněte se použití vlastnosti ConnectionMultiplexer.IsConnected.
- Snowballing - můžete narazit na problém, kdy opakované pokusy narůstají a nikdy se nezdaří obnovit systém. Pokud dojde k efektu sněhové koule, zvažte použití exponenciálního algoritmu opakování, jak je popsáno v
obecných pokynech pro opakování publikovaných skupinou Microsoft Patterns & Practices.
Hodnoty časového limitu
- Zvažte svou úlohu a nastavte hodnoty, které se mají shodovat. Pokud ukládáte velké hodnoty, nastavte časový limit na vyšší hodnotu.
- Nastavte
AbortOnConnectFailhodnotu false a nechte StackExchange.Redis znovu připojit. - Místo vytváření nového připojení pro každou žádost použijte jednu dlouhodobou instanci
ConnectionMultiplexer. -
ConnectionMultiplexer.ClientNameNastavte vlastnost na jedinečný název instance aplikace pro účely diagnostiky. - Pro vlastní úlohy použijte více
ConnectionMultiplexerinstancí.- Pokud máte v aplikaci různou zátěž, můžete postupovat podle tohoto modelu. Příklad:
- Můžete mít jeden multiplexer pro práci s velkými klíči.
- Můžete mít jeden multiplexer pro práci s malými klíči.
- Můžete nastavit různé hodnoty časových limitů připojení a logiku opakování pro každý používaný ConnectionMultiplexer.
- Nastavte vlastnost u každého multiplexeru
ClientName, aby vám pomohla s diagnostikou. - Tyto pokyny můžou vést ke zefektivnění latence podle
ConnectionMultiplexer.
Jaké klienty Azure Cache for Redis můžu použít?
Jednou z skvělých věcí o Redisu je, že existuje mnoho klientů podporujících mnoho různých vývojových jazyků. Aktuální seznam klientů najdete v tématu Klienti Redis.
Získat název hostitele mezipaměti, port a přístupové klíče z portálu Azure
Aby se klient mezipaměti Azure Redis připojil, potřebuje název hostitele, porty a klíče mezipaměti. Někteří klienti mohou tyto položky označovat trochu odlišnými názvy. Podle těchto pokynů získejte název hostitele, porty a klíče mezipaměti z webu Azure Portal.
Získejte název hostitele z mezipaměti na stránce Přehled. Název hostitele je ve formátu
<cachename>.redis.cache.windows.net.Výběrem odkazu vedle portů získejte porty. Mezipaměti Enterprise a mezipaměti úrovně Enterprise Flash používají port
10000. Mezipamětí úrovně Basic, Standard a Premium používají port6380pro připojení TLS (Transport Layer Security) nebo port6379pro jiná připojení než TLS.Přístupové klíče získáte tak, že vyberete Zobrazit přístupové klíče.
V podokně CacheKeys se zobrazí klíče.
V levém navigačním menu můžete také vybrat Ověřování pod Nastavením, a poté vybrat kartu Přístupové klíče.
Existuje místní emulátor služby Azure Cache for Redis?
Pro Azure Cache for Redis neexistuje žádný místní emulátor. Na místním počítači ale můžete spustit kopii komunity Redis a připojit se k němu, abyste získali podobné prostředí jako emulátor místní mezipaměti, jak je znázorněno v následujícím příkladu:
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 běží nativně v Linuxu, ale můžete také použít Subsystém Windows pro Linux ke spuštění Redis na počítači s Windows. Další informace najdete v tématu Instalace Redis ve Windows . Pokud chcete, můžete volitelně nakonfigurovat soubor redis.conf tak , aby lépe odpovídal výchozímu nastavení mezipaměti online služby Azure Cache for Redis.
Jak lze spustit příkazy Redis?
V příkazech Redis můžete použít libovolný příkaz uvedený v příkazech Redis s výjimkou příkazů uvedených v příkazech Redis, které nejsou v Azure Cache for Redis podporované. Máte několik možností, jak spustit příkazy Redis.
Pokud máte mezipaměť Standard nebo Premium, můžete příkazy Redis spustit pomocí konzoly Redis. Konzola Redis poskytuje bezpečný způsob spouštění příkazů Redis na webu Azure Portal.
Můžete také použít nástroje příkazového řádku Redis. Pokud je chcete použít, přečtěte si téma Použití nástroje příkazového řádku Redis se službou Azure Cache for Redis.
Proč azure Cache for Redis nemá odkaz na knihovnu tříd MSDN?
Microsoft Azure Cache for Redis je založená na oblíbeném opensourcovém úložišti dat v paměti Redis. Pro mnoho programovacích jazyků můžete použít širokou škálu klientů Redis. Každý klient má vlastní rozhraní API, které provádí volání instance Azure Cache for Redis pomocí příkazů Redis.
Vzhledem k tomu, že se každý klient liší, nemůžete na MSDN najít jeden centralizovaný odkaz na třídu. Každý klient udržuje vlastní referenční dokumentaci. Kromě referenční dokumentace existuje několik kurzů, které ukazují, jak začít se službou Azure Cache for Redis používat různé jazyky a klienty mezipaměti.
Můžu Azure Cache for Redis použít jako mezipaměť pro PHP relace?
Ano, pokud chcete použít Azure Cache for Redis jako mezipaměť relací PHP, zadejte připojovací řetězec instance Azure Cache for Redis v session.save_path.
Důležité
Pokud používáte Azure Cache for Redis jako mezipaměť relací PHP, musíte zakódovat klíč zabezpečení použitý pro připojení k mezipaměti, jak je znázorněno v následujícím příkladu:
session.save_path = "tcp://mycache.redis.cache.windows.net:6379?auth=<url encoded primary or secondary key here>";
Pokud klíč není kódovaný, může se zobrazit výjimka se zprávou, například: Failed to parse session.save_path
Další informace o používání Azure Cache for Redis jako mezipaměti pro relaci PHP s klientem PhpRedis najdete v tématu PHP Session handler.
Co jsou databáze Redis?
Databáze Redis jsou pouze logické oddělení dat ve stejné instanci Redis. Paměť mezipaměti se sdílí mezi všemi databázemi a skutečnou spotřebou paměti dané databáze závisí na klíčích a hodnotách uložených v této databázi. Například mezipaměť C6 má 53 GB paměti a P5 má 120 GB. Můžete zvolit, že chcete umístit všech 53 GB / 120 GB do jedné databáze nebo ho můžete rozdělit mezi více databází.
Poznámka:
Pokud používáte Azure Cache for Redis úrovně Premium s povoleným clusteringem, je k dispozici pouze databáze 0. Toto omezení je vnitřní omezení Redis a není specifické pro Azure Cache for Redis.
Související obsah
Přečtěte si další nejčastější dotazy ke službě Azure Cache for Redis.