Konfigurowanie usługi Azure Cache for Redis

Ukończone

Twój zespół programistyczny ds. statystyk sportowych zdecydował, że buforowanie może znacznie poprawić wydajność ostatnio żądanych danych. Twoim następnym krokiem jest utworzenie i skonfigurowanie wystąpienia usługi Azure Cache for Redis.

Tworzenie i konfigurowanie wystąpienia usługi Azure Cache for Redis

Możesz utworzyć pamięć podręczną Redis przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. Istnieje kilka parametrów, które należy podjąć, aby skonfigurować pamięć podręczną odpowiednio do Twoich celów.

Nazwisko

Pamięć podręczna Redis Cache wymaga globalnie unikatowej nazwy. Nazwa musi być unikatowa na platformie Azure, ponieważ służy do generowania publicznego adresu URL w celu nawiązania połączenia z usługą i komunikowania się z nią.

Nazwa musi zawierać od 1 do 63 znaków, składające się z cyfr, liter i - znaku. Nazwa pamięci podręcznej nie może zaczynać ani kończyć się znakiem - , a kolejne - znaki nie są prawidłowe.

Grupa zasobów

Usługa Azure Cache for Redis jest zasobem zarządzanym i wymaga właściciela grupy zasobów. Możesz utworzyć nową grupę zasobów lub użyć istniejącej w subskrypcji, do której masz dostęp.

Lokalizacja

Musisz zdecydować, gdzie będzie fizycznie znajdować się pamięć podręczna Redis Cache, wybierając region świadczenia usługi Azure. Zawsze umieszczaj swoje wystąpienie pamięci podręcznej i swoją aplikację w tym samym regionie. Łączenie się z pamięcią podręczną w innym regionie może znacznie zwiększyć opóźnienie i ograniczyć niezawodność. Jeśli łączysz się z pamięcią podręczną poza platformą Azure, wybierz lokalizację znajdującą się w pobliżu miejsca, w którym aplikacja korzysta z danych.

Ważne

Umieść pamięć podręczną Redis możliwie jak najbliżej danych konsumenta.

Warstwa cenowa

Jak wspomniano w poprzedniej lekcji, istnieją trzy warstwy cenowe dostępne dla usługi Azure Cache for Redis.

  • Podstawowa: Podstawowa pamięć podręczna jest idealna do programowania/testowania. Jest on ograniczony do jednego serwera, 53 GB pamięci i 20 000 połączeń. Nie ma umowy SLA dla tej warstwy usług.
  • Standardowa: jest to pamięć podręczna produkcyjna, która obsługuje replikację i obejmuje umowę SLA na 99,99%. Obsługuje dwa serwery (podstawowy/pomocniczy) i ma te same limity pamięci/połączenia co warstwa Podstawowa.
  • Premium: jest to warstwa Enterprise, która bazuje na warstwie Standardowa i obejmuje trwałość, klastrowanie i obsługę pamięci podręcznej skalowanej w poziomie. Premium to warstwa o najwyższej wydajności, z maksymalnie 530 GB pamięci i 40 000 równoczesnych połączeń.

Ilość pamięci podręcznej dostępnej w każdej warstwie można kontrolować, wybierając poziom pamięci podręcznej z C0-C6 dla warstwy Podstawowa/Standardowa i P0-P4 dla warstwy Premium. Pełne informacje są dostępne na stronie z cennikiem.

Napiwek

Firma Microsoft zaleca, aby zawsze używać warstwy Standardowa lub Premium dla systemów produkcyjnych. Warstwa Podstawowa to system z jednym węzłem bez replikacji danych i bez umowy SLA. Ponadto można użyć przynajmniej pamięci podręcznej C1. Pamięci podręczne C0 są naprawdę przeznaczone dla prostych scenariuszy tworzenia i testowania, ponieważ mają współużytkowany rdzeń procesora CPU i bardzo mało pamięci.

Warstwa Premium umożliwia utrwalanie danych na dwa sposoby, aby zapewnić odzyskiwanie po awarii:

  1. Trwałość bazy danych RDB tworzy okresową migawkę i może ponownie skompilować pamięć podręczną przy użyciu migawki, jeśli wystąpi awaria.

    Zrzut ekranu witryny Azure Portal pokazujący opcje stanu trwałego RDB w nowym wystąpieniu usługi Redis Cache.

  2. Stan trwały AOF polega na zapisywaniu każdej operacji zapisu w dzienniku, który jest zapisywany co najmniej raz na sekundę. AOF tworzy większe pliki niż RDB, ale ma mniej utraty danych.

    Zrzut ekranu witryny Azure Portal pokazujący opcje stanu trwałego AOF w nowym wystąpieniu usługi Redis Cache.

Istnieje kilka innych ustawień, które są dostępne tylko dla warstwy Premium .

Obsługa sieci wirtualnej

Jeśli tworzysz pamięć podręczną Redis Cache w warstwie Premium, możesz wdrożyć ją w sieci wirtualnej w chmurze. Pamięć podręczna będzie dostępna tylko dla innych maszyn wirtualnych i aplikacji w tej samej sieci wirtualnej. Wdrażanie w sieci wirtualnej zapewnia wyższy poziom zabezpieczeń, gdy usługa i pamięć podręczna są hostowane na platformie Azure lub są połączone za pośrednictwem sieci VPN sieci wirtualnej platformy Azure.

Obsługa klastrowania

W warstwie Premium pamięć podręczna Redis Cache pozwala zaimplementować klastrowanie do automatycznego dzielenia zestawu danych między wiele węzłów. Aby zaimplementować klastrowanie, należy określić liczbę fragmentów (maksymalnie 10). Koszt jest kosztem oryginalnego węzła pomnożonego przez liczbę fragmentów.

Uzyskiwanie dostępu do wystąpienia usługi Redis

Usługa Redis obsługuje zestaw znanych poleceń. Polecenie jest zwykle wydawane jako COMMAND parameter1 parameter2 parameter3.

Poniżej przedstawiono niektóre typowe polecenia, których można użyć:

Polecenie opis
ping Wysyła polecenie ping do serwera. Zwraca ciąg „PONG”.
set [key] [value] Ustawia klucz/wartość w pamięci podręcznej. Zwraca ciąg „OK” w przypadku powodzenia.
get [key] Pobiera wartość z pamięci podręcznej.
exists [key] Zwraca wartość "1", jeśli klucz istnieje w pamięci podręcznej, "0", jeśli nie.
type [key] Zwraca typ skojarzony z wartością dla danego klucza.
incr [key] Zwiększ daną wartość skojarzona z kluczem o jeden. Wartość musi być liczbą całkowitą lub wartością o podwójnej precyzji. Zwraca nową wartość.
incrby [key] [amount] Zwiększa podaną wartość skojarzoną z kluczem o określoną wielkość. Wartość musi być liczbą całkowitą lub wartością o podwójnej precyzji. Zwraca nową wartość.
del [key] Usuwa wartość skojarzoną z kluczem.
flushdb Usuń wszystkie klucze i wartości w bazie danych.

Usługa Redis jest narzędziem wiersza polecenia (redis-cli), którego można użyć do eksperymentowania bezpośrednio z tymi poleceniami. Oto kilka przykładów.

> set somekey somevalue
OK
> get somekey
"somevalue"
> exists somekey
(string) 1
> del somekey
(string) 1
> exists somekey
(string) 0

Oto przykład korzystania z poleceń INCR. Te polecenia są wygodne, ponieważ zapewniają niepodzielne przyrosty w wielu aplikacjach korzystających z pamięci podręcznej.

> set counter 100
OK
> incr counter
(integer) 101
> incrby counter 50
(integer) 151
> type counter
(integer)

Dodawanie czasu wygaśnięcia do wartości

Buforowanie jest ważne, ponieważ pozwala nam przechowywać w pamięci najczęściej używane wartości. Jednak potrzebujemy również sposobu wygaśnięcia wartości, gdy są nieaktualne. Usługa Redis obsługuje wygaśnięcie, stosując czas wygaśnięcia (TTL) do klucza.

Gdy upłynie czas wygaśnięcia, klucz zostanie automatycznie usunięty, dokładnie tak, jakby DEL polecenie zostało wydane. Poniżej przedstawiono kilka uwag dotyczących wygaśnięcia TTL.

  • Wygasanie ważności można ustawić z dokładnością do sekund i milisekund.
  • Rozdzielczość czasu wygaśnięcia jest zawsze jedna milisekunda.
  • Czas przechodzi praktycznie nawet wtedy, gdy serwer Redis pozostaje zatrzymany.
  • Informacje o wygaśnięciu są replikowane i utrwalane na dysku.
  • Usługa Redis zapisuje datę wygaśnięcia klucza.

Oto przykład wygaśnięcia:

> set counter 100
OK
> expire counter 5
(integer) 1
> get counter
100
... wait ...
> get counter
(nil)

Uzyskiwanie dostępu do pamięci podręcznej Redis z klienta

Aby połączyć się z wystąpieniem usługi Azure Cache for Redis, potrzebnych jest kilka informacji. Klienci potrzebują nazwy hosta, portu i klucza dostępu dla pamięci podręcznej. Te informacje można pobrać w witrynie Azure Portal za pośrednictwem strony Ustawienia > Klucze dostępu.

  • Nazwa hosta to publiczny adres internetowy pamięci podręcznej, który został utworzony przy użyciu nazwy pamięci podręcznej; na przykład sportsresults.redis.cache.windows.net.

  • Klucz dostępu działa jako hasło dla pamięci podręcznej. Tworzone są dwa klucze: podstawowy i pomocniczy. Możesz użyć dowolnego klucza, a dwa są podane w przypadku konieczności zmiany klucza podstawowego. Możesz przełączyć wszystkich klientów na klucz pomocniczy i ponownie wygenerować klucz podstawowy. Jednak wszystkie aplikacje korzystające z oryginalnego klucza podstawowego zostaną zablokowane. Firma Microsoft zaleca okresowe ponowne generowanie kluczy, podobnie jak w przypadku haseł osobistych.

Ostrzeżenie

Klucze dostępu powinny być traktowane jako poufne informacje; traktuj je tak, jak w przypadku hasła. Każdy, kto ma klucz dostępu, może wykonać dowolną operację na Twojej pamięci podręcznej!