Programowanie usługi Azure Cache for Redis — często zadawane pytania

Ten artykuł zawiera odpowiedzi na często zadawane pytania dotyczące tworzenia usługi Azure Cache for Redis.

Jak rozpocząć pracę z usługą Azure Cache for Redis?

Istnieje kilka sposobów rozpoczęcia pracy z usługą Azure Cache for Redis.

Jeśli nie masz jeszcze konta platformy Azure, możesz:

Jakie są opcje konfiguracji StackExchange.Redis?

StackExchange.Redis ma wiele opcji. W tej sekcji omówiono niektóre typowe ustawienia. Aby uzyskać bardziej szczegółowe informacje na temat opcji StackExchange.Redis, zobacz StackExchange.Redis configuration (Konfiguracja stackExchange.Redis).

ConfigurationOptions opis Zalecenie
AbortOnConnectFail Po ustawieniu wartości true połączenie nie może ponownie nawiązać połączenia po awarii sieci. Ustaw wartość false i pozwól usłudze StackExchange.Redis na ponowne nawiązywanie połączenia.
ConnectRetry Liczba powtórzeń prób nawiązania połączenia podczas początkowego nawiązywania połączenia. Zapoznaj się z poniższymi uwagami, aby uzyskać wskazówki.
ConnectTimeout Limit czasu w ms dla operacji łączenia. Zapoznaj się z poniższymi uwagami, aby uzyskać wskazówki.

Zazwyczaj wartości domyślne klienta są wystarczające. Opcje można dostosować na podstawie obciążenia.

Ponowne próby

  • W przypadku połączeń ConnectRetry i ConnectTimeout ogólne wskazówki polegają na szybkim niepomyślnie i ponowieniu próby. Te wskazówki są oparte na obciążeniu i o ile czasu--- średnio---it wymaga, aby klient wystawił polecenie Redis i otrzymał odpowiedź.
  • Pozwól usłudze StackExchange.Redis na automatyczne ponowne nawiązywanie połączenia zamiast sprawdzania stanu połączenia i ponowne nawiązywanie połączenia. Unikaj używania właściwości ConnectionMultiplexer.IsConnected.
  • Snowballing - możesz napotkać problem polegający na tym, że ponawiasz próbę i ponawiasz próbę śnieżki i nigdy nie odzyskasz sprawności. W przypadku wystąpienia śnieżka należy rozważyć użycie algorytmu ponawiania prób wykładniczego zgodnie z opisem w artykule Retry general guidance published by the Microsoft Patterns & Practices group (Ogólne wskazówki dotyczące ponawiania prób opublikowanych przez grupę Microsoft Patterns & Practices).

Wartości limitu czasu

  • Rozważ obciążenie i ustaw wartości, które mają być zgodne. Jeśli przechowujesz duże wartości, ustaw limit czasu na wyższą wartość.
  • Ustaw AbortOnConnectFail wartość false i pozwól usłudze StackExchange.Redis na ponowne nawiązanie połączenia.
  • Użyj pojedynczego, długotrwałego ConnectionMultiplexer wystąpienia zamiast tworzenia nowego połączenia dla każdego żądania. Aby zapoznać się z przykładem zarządzania połączeniem, zobacz klasę "RedisConnection" w temacie Connect to the cache with RedisConnection (Łączenie z pamięcią podręczną za pomocą połączenia RedisConnection).
  • ConnectionMultiplexer.ClientName Ustaw właściwość na unikatową nazwę wystąpienia aplikacji na potrzeby diagnostyki.
  • Użyj wielu ConnectionMultiplexer wystąpień dla obciążeń niestandardowych.
    • Możesz postępować zgodnie z tym modelem, jeśli masz różne obciążenia w aplikacji. Na przykład:
    • Można mieć jeden multiplekser do obsługi dużych kluczy.
    • Możesz mieć jeden multiplekser do obsługi małych kluczy.
    • Dla limitów czasu połączenia można ustawić różne wartości i logikę ponawiania prób dla każdego używanego elementu ConnectionMultiplexer.
    • ClientName Ustaw właściwość na każdym multiplekserze, aby ułatwić diagnostykę.
    • Te wskazówki mogą prowadzić do bardziej usprawnionych opóźnień na .ConnectionMultiplexer

Jakich klientów usługi Azure Cache for Redis mogę używać?

Jedną z wielkich rzeczy dotyczących usługi Redis jest to, że istnieje wiele klientów obsługujących wiele różnych języków programowania. Aby uzyskać bieżącą listę klientów, zobacz Klienci usługi Redis. Aby zapoznać się z samouczkami obejmującymi kilka różnych języków i klientów, zobacz How to use Azure Cache for Redis (Jak używać usługi Azure Cache for Redis).

Pobieranie nazwy hosta, portów i kluczy dostępu z witryny Azure Portal

Aby połączyć serwer usługi Azure Cache for Redis, klient pamięci podręcznej potrzebuje nazwy hosta, portów i klucza pamięci podręcznej. Niektórzy klienci mogą odwoływać się do tych elementów przy użyciu nieco innych nazw. Nazwę hosta, porty i klucze można uzyskać w witrynie Azure Portal.

  • Aby uzyskać klucze dostępu, wybierz pozycję Uwierzytelnianie z menu Zasób. Następnie wybierz kartę Klucze dostępu.

    Zrzut ekranu przedstawiający klucze dostępu usługi Azure Cache for Redis.

  • Aby uzyskać nazwę hosta i porty pamięci podręcznej, wybierz pozycję Przegląd w menu Zasób. Nazwa hosta ma formę <DNS name.redis.cache.windows.net>.

    Zrzut ekranu przedstawiający właściwości usługi Azure Cache for Redis.

Czy istnieje lokalny emulator usługi Azure Cache for Redis?

Nie ma lokalnego emulatora usługi Azure Cache for Redis. Możesz jednak uruchomić kopię usługi Redis społeczności na komputerze lokalnym i nawiązać z nim połączenie, aby uzyskać podobne środowisko do lokalnego emulatora pamięci podręcznej, jak pokazano w poniższym przykładzie:

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;
    }
}

Usługa Redis działa natywnie w systemie Linux, ale można również użyć Podsystem Windows dla systemu Linux do uruchomienia usługi Redis na maszynie z systemem Windows. Aby uzyskać więcej informacji, zobacz Instalowanie usługi Redis w systemie Windows Opcjonalnie możesz skonfigurować plik redis.conf, aby ściślej dopasować domyślne ustawienia pamięci podręcznej dla usługi Azure Cache for Redis online, jeśli chcesz.

Jak mogę uruchomić polecenia usługi Redis?

Możesz użyć dowolnego polecenia wymienionego w poleceniach usługi Redis, z wyjątkiem poleceń wymienionych w temacie Polecenia redis, które nie są obsługiwane w usłudze Azure Cache for Redis. Istnieje kilka opcji uruchamiania poleceń usługi Redis.

Jeśli masz pamięć podręczną w warstwie Standardowa lub Premium, możesz uruchomić polecenia redis przy użyciu konsoli usługi Redis. Konsola usługi Redis zapewnia bezpieczny sposób uruchamiania poleceń usługi Redis w witrynie Azure Portal.

Można również użyć narzędzi wiersza polecenia usługi Redis. Aby ich używać, zobacz Use the Redis command-line tool with Azure Cache for Redis (Korzystanie z narzędzia wiersza polecenia Redis w usłudze Azure Cache for Redis)

Dlaczego usługa Azure Cache for Redis nie ma odwołania do biblioteki klas MSDN?

Usługa Microsoft Azure Cache for Redis jest oparta na popularnym magazynie danych typu open source w pamięci Redis. W wielu językach programowania można używać wielu różnych klientów usługi Redis. Każdy klient ma własny interfejs API, który wykonuje wywołania wystąpienia usługi Azure Cache for Redis przy użyciu poleceń usługi Redis.

Ponieważ każdy klient jest inny, nie można odnaleźć jednego scentralizowanego odwołania do klas w witrynie MSDN. Każdy klient przechowuje własną dokumentację referencyjną. Oprócz dokumentacji referencyjnej dostępnych jest kilka samouczków pokazujących, jak rozpocząć pracę z usługą Azure Cache for Redis przy użyciu różnych języków i klientów pamięci podręcznej. Aby uzyskać dostęp do tych samouczków, zobacz artykuły How to use Azure Cache for Redis and its sibling (Jak używać usługi Azure Cache for Redis i jej elementów równorzędnych) w spisie treści.

Czy mogę użyć usługi Azure Cache for Redis jako pamięci podręcznej sesji JĘZYKA PHP?

Tak, aby użyć usługi Azure Cache for Redis jako pamięci podręcznej sesji JĘZYKA PHP, określ parametry połączenia wystąpienia usługi Azure Cache for Redis w programie session.save_path.

Ważne

W przypadku korzystania z usługi Azure Cache for Redis jako pamięci podręcznej sesji PHP należy zakodować klucz zabezpieczeń używany do nawiązywania połączenia z pamięcią podręczną, jak pokazano w poniższym przykładzie:

session.save_path = "tcp://mycache.redis.cache.windows.net:6379?auth=<url encoded primary or secondary key here>";

Jeśli klucz nie jest zakodowany pod adresem URL, może zostać wyświetlony wyjątek z komunikatem, na przykład: Failed to parse session.save_path

Aby uzyskać więcej informacji na temat używania usługi Azure Cache for Redis jako pamięci podręcznej sesji PHP z klientem PhpRedis, zobacz Procedura obsługi sesji JĘZYKA PHP.

Co to są bazy danych Redis?

Bazy danych Redis to tylko logiczne rozdzielenie danych w ramach tego samego wystąpienia usługi Redis. Pamięć podręczna jest współdzielona między wszystkimi bazami danych i rzeczywistym zużyciem pamięci danej bazy danych zależy od kluczy/wartości przechowywanych w tej bazie danych. Na przykład pamięć podręczna C6 ma 53 GB pamięci, a P5 ma 120 GB. Możesz umieścić wszystkie 53 GB / 120 GB w jednej bazie danych lub podzielić ją między wiele baz danych.

Uwaga

W przypadku korzystania z usługi Azure Cache for Redis w warstwie Premium z włączonym klastrowaniem dostępna jest tylko baza danych 0. To ograniczenie jest wewnętrznym ograniczeniem usługi Redis i nie jest specyficzne dla usługi Azure Cache for Redis.

Dowiedz się więcej o innych często zadawanych pytaniach dotyczących usługi Azure Cache for Redis.