Nejčastější dotazy k vývoji Azure Cache for Redis

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:

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.

Pokud ještě nemáte účet Azure, můžete:

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 AbortOnConnectFail hodnotu 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.ClientName Nastavte vlastnost na jedinečný název instance aplikace pro účely diagnostiky.
  • Pro vlastní úlohy použijte více ConnectionMultiplexer instancí.
    • 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í port 6380 pro připojení TLS (Transport Layer Security) nebo port 6379 pro jiná připojení než TLS.

  • Přístupové klíče získáte tak, že vyberete Zobrazit přístupové klíče.

    Snímek obrazovky znázorňující vlastnosti mezipaměti Azure Redis

    V podokně CacheKeys se zobrazí klíče.

    Snímek obrazovky znázorňující podokno přístupových klíčů azure Redis Cache

    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.

    Snímek obrazovky znázorňující přístupové klíče azure Redis Cache

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.

Přečtěte si další nejčastější dotazy ke službě Azure Cache for Redis.