Udostępnij za pośrednictwem


Szybki start: używanie usługi Azure Cache for Redis z aplikacją internetową platformy ASP.NET Core

W tym przewodniku Szybki start uwzględnisz usługę Azure Cache for Redis w aplikacji internetowej ASP.NET Core, która łączy się z usługą Azure Cache for Redis w celu przechowywania i pobierania danych z pamięci podręcznej.

Możesz użyć dostawcy buforowania w aplikacji internetowej ASP.NET Core. Aby szybko rozpocząć korzystanie z usługi Redis z minimalnymi zmianami w istniejącym kodzie, zobacz:

Przejdź do kodu

W tym artykule opisano sposób modyfikowania kodu przykładowej aplikacji w celu utworzenia działającej aplikacji łączącej się z usługą Azure Cache for Redis.

Jeśli chcesz przejść bezpośrednio do kodu, zapoznaj się z przykładowym przewodnikiem Szybki start platformy ASP.NET Core w witrynie GitHub.

Możesz sklonować repozytorium GitHub przykładów usługi Azure Cache for Redis, a następnie przejść do katalogu Szybki start/aspnet-core , aby wyświetlić ukończony kod źródłowy kroków opisanych w tym artykule.

Katalog Szybki start/aspnet-core jest również skonfigurowany jako szablon interfejsu wiersza polecenia dla deweloperów platformy Azure. Użyj narzędzia azd typu open source, aby usprawnić aprowizowanie i wdrażanie ze środowiska lokalnego na platformę Azure. Opcjonalnie uruchom azd up polecenie , aby automatycznie aprowizować wystąpienie usługi Azure Cache for Redis i skonfigurować lokalną przykładową aplikację w celu nawiązania z nim połączenia:

azd up

Eksplorowanie przykładu eShop

W następnym kroku zobaczysz rzeczywistą aplikację eShop, która demonstruje dostawców buforowania ASP.NET Core: ASP.NET Core eShop przy użyciu dostawców buforowania Redis.

Funkcje obejmują:

  • Buforowanie rozproszone usługi Redis
  • Dostawca stanu sesji usługi Redis

Instrukcje dotyczące wdrażania znajdują się w pliku README.md w przykładzie szybkiego startu ASP.NET Core w witrynie GitHub.

Wymagania wstępne

Tworzenie pamięci podręcznej

  1. Aby utworzyć pamięć podręczną, zaloguj się do witryny Azure Portal. W menu portalu wybierz pozycję Utwórz zasób.

    Sceenshot przedstawiający opcję Utwórz zasób wyróżnioną w okienku nawigacji po lewej stronie w witrynie Azure Portal.

  2. W okienku Wprowadzenie wprowadź ciąg Azure Cache for Redis na pasku wyszukiwania. W wynikach wyszukiwania znajdź usługę Azure Cache for Redis, a następnie wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający witrynę Azure Marketplace z usługą Azure Cache for Redis w polu wyszukiwania i wyróżniony przycisk Utwórz.

  3. W okienku Nowa pamięć podręczna Redis Cache na karcie Podstawy skonfiguruj następujące ustawienia dla pamięci podręcznej:

    Ustawienie Akcja opis
    Subskrypcja Wybierz subskrypcję platformy Azure. Subskrypcja do użycia w celu utworzenia nowego wystąpienia usługi Azure Cache for Redis.
    Grupa zasobów: Wybierz grupę zasobów lub wybierz pozycję Utwórz nową i wprowadź nową nazwę grupy zasobów. Nazwa grupy zasobów, w której ma zostać utworzona pamięć podręczna i inne zasoby. Umieszczając wszystkie zasoby aplikacji w jednej grupie zasobów, można je łatwo zarządzać lub usuwać razem.
    Nazwa DNS Wprowadź unikatową nazwę. Nazwa pamięci podręcznej musi być ciągiem od 1 do 63 znaków, który zawiera tylko cyfry, litery i łączniki. Nazwa musi zaczynać się i kończyć cyfrą lub literą i nie może zawierać kolejnych łączników. Nazwa hosta wystąpienia pamięci podręcznej to \<DNS name>.redis.cache.windows.net.
    Lokalizacja Wybierz lokalizację. Region platformy Azure, który znajduje się w pobliżu innych usług korzystających z pamięci podręcznej.
    Jednostka SKU pamięci podręcznej Wybierz jednostkę SKU. Jednostka SKU określa rozmiar, wydajność i parametry funkcji, które są dostępne dla pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Omówienie usługi Azure Cache for Redis.
    Rozmiar pamięci podręcznej Wybierz rozmiar pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Omówienie usługi Azure Cache for Redis.
  4. Wybierz kartę Sieć lub wybierz pozycję Dalej: Sieć.

  5. Na karcie Sieć wybierz metodę łączności do użycia dla pamięci podręcznej.

  6. Wybierz kartę Zaawansowane lub wybierz pozycję Dalej: Zaawansowane.

  7. Na karcie Zaawansowane zaznacz pole wyboru Uwierzytelnianie entra firmy Microsoft, aby włączyć uwierzytelnianie firmy Microsoft Entra.

    Zrzut ekranu przedstawiający okienko Zaawansowane i dostępną opcję do wybrania.

    Ważne

    W celu uzyskania optymalnego bezpieczeństwa zalecamy użycie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań względem pamięci podręcznej, jeśli to możliwe. Autoryzacja przy użyciu identyfikatora Entra firmy Microsoft i tożsamości zarządzanych zapewnia doskonałe zabezpieczenia i łatwość korzystania z autoryzacji klucza dostępu współdzielonego. Aby uzyskać więcej informacji na temat używania tożsamości zarządzanych z pamięcią podręczną, zobacz Use Microsoft Entra ID for cache authentication (Używanie identyfikatora Entra firmy Microsoft do uwierzytelniania w pamięci podręcznej).

  8. (Opcjonalnie) Wybierz kartę Tagi lub wybierz pozycję Dalej: Tagi.

  9. (Opcjonalnie) Na karcie Tagi wprowadź nazwę i wartość tagu, jeśli chcesz podzielić zasób pamięci podręcznej.

  10. Wybierz przycisk Przejrzyj i utwórz.

    Na karcie Przeglądanie i tworzenie platforma Azure automatycznie weryfikuje konfigurację.

  11. Po pojawieniu się zielonego komunikatu Weryfikacja przekazana wybierz pozycję Utwórz.

Nowe wdrożenie pamięci podręcznej odbywa się w ciągu kilku minut. Postęp wdrażania można monitorować w okienku Przegląd usługi Azure Cache for Redis. Gdy zostanie wyświetlony stan Uruchomiono, pamięć podręczna jest gotowa do użycia.

Pobieranie nazwy hosta

Aby nawiązać połączenie z serwerem usługi Azure Cache for Redis, klient pamięci podręcznej potrzebuje nazwy hosta pamięci podręcznej i innych informacji. Niektórzy klienci mogą odwoływać się do elementów przy użyciu nieco innych nazw. Nazwę hosta można uzyskać w witrynie Azure Portal.

  1. W witrynie Azure Portal przejdź do pamięci podręcznej.
  2. W menu usługi wybierz pozycję Przegląd.
  3. W obszarze Podstawy w polu Nazwa hosta wybierz ikonę Kopiuj , aby skopiować wartość nazwy hosta. Wartość nazwy hosta ma postać <DNS name>.redis.cache.windows.net.

Zrzut ekranu przedstawiający właściwości usługi Azure Cache for Redis z wyróżnioną nazwą hosta.

Dodawanie nowych zasad dostępu użytkowników usługi Redis

Tożsamość, która uzyskuje dostęp do usługi Azure Cache for Redis, musi mieć przypisane zasady dostępu do danych. W tym przykładzie przypisujesz zasady dostępu do danych do tego samego konta identyfikatora Entra firmy Microsoft, którego używasz do logowania się do interfejsu wiersza polecenia platformy Azure lub programu Visual Studio.

  1. W witrynie Azure Portal przejdź do pamięci podręcznej.

  2. W menu usługi w obszarze Ustawienia wybierz pozycję Konfiguracja dostępu do danych.

  3. W okienku Konfiguracja dostępu do danych wybierz pozycję Dodaj>nowego użytkownika usługi Redis.

    Zrzut ekranu przedstawiający okienko konfiguracji dostępu do danych z wyróżnioną pozycją Nowy użytkownik usługi Redis.

  4. W okienku Nowy użytkownik usługi Redis wybierz zasady Współautor danych, a następnie wybierz pozycję Dalej: Użytkownicy usługi Redis.

  5. Wybierz pozycję Wybierz członka , aby otworzyć menu wysuwane. Wyszukaj konto użytkownika i wybierz je w wynikach.

    Zrzut ekranu przedstawiający kartę Użytkownik usługi Redis w okienku Nowy użytkownik usługi Redis z wyróżnioną pozycją Wybierz członka.

  6. Wybierz pozycję Przejrzyj i przypisz , aby przypisać zasady do wybranego użytkownika.

Dodawanie lokalnego wpisu tajnego dla nazwy hosta

W oknie polecenia uruchom następujące polecenie, aby zapisać nowy wpis tajny o nazwie RedisHostName. W kodzie zastąp symbole zastępcze, w tym nawiasy kątowe, nazwą pamięci podręcznej i podstawowym kluczem dostępu:

dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"

Nawiązywanie połączenia z pamięcią podręczną przy użyciu programu RedisConnection

Klasa RedisConnection zarządza połączeniem z pamięcią podręczną. Połączenie jest wykonywane w tej instrukcji w HomeController.cs w folderze Controllers :

_redisConnection = await _redisConnectionFactory;

Plik RedisConnection.cs zawiera przestrzenie nazw StackExchange.Redis i Azure.Identity w górnej części pliku zawierające podstawowe typy służące do nawiązywania połączenia z usługą Azure Cache for Redis:

using StackExchange.Redis;
using Azure.Identity;

Kod RedisConnection klasy gwarantuje, że zawsze istnieje dobre połączenie z pamięcią podręczną. Połączenie jest zarządzane przez ConnectionMultiplexer wystąpienie z witryny StackExchange.Redis. Klasa RedisConnection ponownie tworzy połączenie, gdy połączenie zostanie utracone i nie będzie można nawiązać połączenia automatycznie.

Aby uzyskać więcej informacji, zobacz StackExchange.Redis i kod w repozytorium StackExchange.Redis GitHub.

Weryfikowanie widoków układu w przykładzie

Układ strony głównej dla tego przykładu jest przechowywany w pliku _Layout.cshtml . W następnej sekcji przetestujesz pamięć podręczną przy użyciu dodanego tutaj kontrolera.

  1. Otwórz plik Views\Shared\_Layout.cshtml.

  2. Sprawdź, czy następujący wiersz znajduje się w pliku <div class="navbar-header">:

    <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
    

Zrzut ekranu przedstawiający stronę powitalną na stronie internetowej.

Pokaż dane z pamięci podręcznej

Na stronie głównej wybierz pozycję Azure Cache for Redis Test na pasku nawigacyjnym, aby wyświetlić przykładowe dane wyjściowe.

  1. W Eksplorator rozwiązań rozwiń folder Views, a następnie kliknij prawym przyciskiem myszy folder Narzędzia główne.

  2. Sprawdź, czy w pliku RedisCache.cshtml znajduje się następujący kod:

    @{
        ViewBag.Title = "Azure Cache for Redis Test";
    }
    
    <h2>@ViewBag.Title.</h2>
    <h3>@ViewBag.Message</h3>
    <br /><br />
    <table border="1" cellpadding="10">
        <tr>
            <th>Command</th>
            <th>Result</th>
        </tr>
        <tr>
            <td>@ViewBag.command1</td>
            <td><pre>@ViewBag.command1Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command2</td>
            <td><pre>@ViewBag.command2Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command3</td>
            <td><pre>@ViewBag.command3Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command4</td>
            <td><pre>@ViewBag.command4Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command5</td>
            <td><pre>@ViewBag.command5Result</pre></td>
        </tr>
    </table>
    

Lokalne uruchamianie aplikacji

  1. W oknie wiersza polecenia skompiluj aplikację przy użyciu następującego polecenia:

    dotnet build
    
  2. Uruchom aplikację przy użyciu tego polecenia:

    dotnet run
    
  3. W przeglądarce internetowej przejdź do strony https://localhost:5001.

  4. Na pasku nawigacyjnym strony internetowej wybierz pozycję Test usługi Azure Cache for Redis , aby przetestować dostęp do pamięci podręcznej.

Zrzut ekranu przedstawiający prosty test ukończony lokalnie.

Czyszczenie zasobów

Jeśli chcesz nadal korzystać z zasobów utworzonych w tym artykule, zachowaj grupę zasobów.

W przeciwnym razie, aby uniknąć opłat związanych z zasobami, jeśli skończysz korzystać z zasobów, możesz usunąć utworzoną grupę zasobów platformy Azure.

Ostrzeżenie

Usunięcie grupy zasobów jest nieodwracalne. Po usunięciu grupy zasobów wszystkie zasoby w grupie zasobów zostaną trwale usunięte. Uważaj, aby nie usunąć przypadkowo niewłaściwych zasobów lub grupy zasobów. Jeśli zasoby zostały utworzone w istniejącej grupie zasobów zawierającej zasoby, które chcesz zachować, możesz usunąć każdy zasób indywidualnie zamiast usuwać grupę zasobów.

Usuwanie grupy zasobów

  1. Zaloguj się do witryny Azure Portal, a następnie wybierz pozycję Grupy zasobów.

  2. Wybierz grupę zasobów do usunięcia.

    Jeśli istnieje wiele grup zasobów, w polu Filtruj dla dowolnego pola wprowadź nazwę utworzonej grupy zasobów, aby ukończyć ten artykuł. Na liście wyników wyszukiwania wybierz grupę zasobów.

    Zrzut ekranu przedstawiający listę grup zasobów do wyboru do usunięcia.

  3. Wybierz pozycję Usuń grupę zasobów.

  4. W okienku Usuń grupę zasobów wprowadź nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń.

    Zrzut ekranu przedstawiający pole wymagające wprowadzenia nazwy zasobu w celu potwierdzenia usunięcia.

W ciągu kilku minut grupa zasobów i wszystkie jej zasoby zostaną usunięte.