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

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

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

Istnieje kilka sposobów rozpoczęcia pracy z 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 na automatyczne ponowne nawiązywanie połączenia stackExchange.Redis.
ConnectRetry Liczba powtórzeń prób nawiązania połączenia podczas początkowego 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 to szybkie niepowodzenie i ponów próbę. 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, aby usługa StackExchange.Redis automatycznie ponownie nawiązała połączenie zamiast sprawdzać stan połączenia i ponownie nawiązać połączenie samodzielnie. 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ę, a nigdy nie odzyskasz. Jeśli wystąpi kula śnieżna, rozważ użycie algorytmu ponawiania wycofywania wykładniczego, zgodnie z opisem w temacie Retry general guidance published by the Microsoft Patterns Practices group ( Wskazówki ogólne dotyczące ponawiania prób opublikowane 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, a nie utworzenia nowego połączenia dla każdego żądania. Przykład zarządzania połączeniem można znaleźć w klasie "RedisConnection" w Połączenie do pamięci podręcznej za pomocą programu 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 w aplikacji występuje różne obciążenie. Na przykład:
      • Do obsługi dużych kluczy można mieć jeden multiplekser.
      • Do obsługi małych kluczy można mieć jeden multiplekser.
      • Możesz ustawić różne wartości limitów czasu połączenia 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 Azure Cache for Redis mogę użyć?

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ć Azure Cache for Redis).

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

Aby połączyć serwer 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 pobrać z Azure Portal.

  • Aby uzyskać klucze dostępu, w obszarze nawigacji po lewej stronie pamięci podręcznej wybierz pozycję Klucze dostępu.

    Azure Cache for Redis keys

  • Aby uzyskać nazwę hosta i porty, w obszarze nawigacji po lewej stronie pamięci podręcznej wybierz pozycję Właściwości. Nazwa hosta ma postać <DNS name.redis.cache.windows.net>.

    Azure Cache for Redis properties

Czy istnieje lokalny emulator Azure Cache for Redis?

Nie ma lokalnego emulatora dla Azure Cache for Redis. Możesz uruchomić wersję MSOpenTech redis-server.exe z poziomu narzędzi wiersza polecenia usługi Redis na komputerze lokalnym. Następnie połącz się z nim, 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;
    }
}

Opcjonalnie możesz skonfigurować plik redis.conf w celu dokładniejszego dopasowania domyślnych ustawień pamięci podręcznej dla Azure Cache for Redis online, jeśli chcesz.

Jak mogę uruchomić polecenia usługi Redis?

Można użyć dowolnego polecenia wymienionego w poleceniach usługi Redis, z wyjątkiem poleceń wymienionych w poleceniach usługi Redis, które nie są obsługiwane w 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 usługi Redis przy użyciu konsoli usługi Redis. Konsola usługi Redis zapewnia bezpieczny sposób uruchamiania poleceń usługi Redis w Azure Portal.
  • Można również użyć narzędzi wiersza polecenia usługi Redis. Aby je użyć, wykonaj następujące czynności:
  • Pobierz narzędzia wiersza polecenia usługi Redis.
  • Połączenie do pamięci podręcznej przy użyciu polecenia redis-cli.exe. Przekaż punkt końcowy pamięci podręcznej przy użyciu przełącznika -h i klucza przy użyciu -a, jak pokazano w poniższym przykładzie:
  • redis-cli -h <Azure Cache for Redis name>.redis.cache.windows.net -a <key>

Uwaga

Narzędzia wiersza polecenia redis nie działają z portem TLS, ale można użyć narzędzia, takiego jak stunnel bezpieczne łączenie narzędzi z portem TLS, postępując zgodnie z instrukcjami w artykule Jak używać narzędzia wiersza polecenia Redis z Azure Cache for Redis artykułu.

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

Microsoft Azure Cache for Redis jest oparta na popularnym magazynie danych typu open source w pamięci Redis. Dostęp do niego można uzyskać za pomocą wielu różnych klientów usługi Redis dla wielu języków programowania. Każdy klient ma własny interfejs API, który wykonuje wywołania wystąpienia Azure Cache for Redis przy użyciu poleceń usługi Redis.

Ponieważ każdy klient jest inny, nie można znaleźć jednego scentralizowanego odwołania do klas w witrynie MSDN. Każdy klient przechowuje własną dokumentację referencyjną. Oprócz dokumentacji referencyjnej istnieje kilka samouczków pokazujących, jak rozpocząć pracę z 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 Jak używać Azure Cache for Redis i artykułów równorzędnych w spisie treści.

Czy mogę użyć Azure Cache for Redis jako pamięci podręcznej sesji PHP?

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

Ważne

W przypadku używania Azure Cache for Redis jako pamięci podręcznej sesji JĘZYKA 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 Azure Cache for Redis jako pamięci podręcznej sesji PHP z klientem PhpRedis, zobacz procedurę obsługi sesji PHP.

Co to są bazy danych Redis?

Bazy danych Redis są po prostu logicznym rozdzieleniem danych w tym samym wystąpieniu 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 Premium Azure Cache for Redis 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 Azure Cache for Redis. Aby uzyskać więcej informacji, zobacz Czy muszę wprowadzić jakiekolwiek zmiany w mojej aplikacji klienckiej do korzystania z klastrowania?.

Następne kroki

Dowiedz się więcej o innych Azure Cache for Redis często zadawanych pytaniach.