Hızlı Başlangıç: Redis için Azure Cache hizmetini ASP.NET web uygulamasıyla kullanma

Bu hızlı başlangıçta, önbelleğe veri depolamak ve önbellekten veri almak için Redis için Azure Cache bağlanan ASP.NET bir web uygulaması oluşturmak için Visual Studio 2019'u kullanacaksınız. Ardından uygulamayı Azure Uygulaması Hizmeti'ne dağıtırsınız.

GitHub'da koda atlayın

GitHub'da depoyu https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet kopyalayın.

Önkoşullar

Önbellek oluşturma

Daha sonra, uygulama için önbellek oluşturursunuz.

  1. Önbellek oluşturmak için Azure portalında oturum açın ve Kaynak oluştur'u seçin.

    Create a resource is highlighted in the left navigation pane.

  2. Yeni sayfasında Veritabanları'nı ve ardından Redis için Azure Cache'ı seçin.

    On New, Databases is highlighted, and Azure Cache for Redis is highlighted.

  3. Yeni Redis Önbelleği sayfasında, yeni önbelleğinizin ayarlarını yapılandırın.

    Ayar Bir değer seçin Açıklama
    Abonelik Açılan menüye gidin ve aboneliğinizi seçin. Bu yeni Redis için Azure Cache örneğinin oluşturulacağı abonelik.
    Kaynak grubu Açılan menüden bir kaynak grubu seçin veya Yeni oluştur'u seçip yeni bir kaynak grubu adı girin. Önbelleğinizi ve diğer kaynakları oluşturacağınız kaynak grubunun adı. Tüm uygulama kaynaklarınızı tek bir kaynak grubuna yerleştirerek bunları kolayca yönetebilir veya silebilirsiniz.
    DNS adı Benzersiz bir ad girin. Önbellek adı yalnızca sayı, harf veya kısa çizgi içeren 1 ile 63 karakter arasında bir dize olmalıdır. Adın bir sayı veya harfle başlayıp bitmesi gerekir ve ardışık kısa çizgi içeremez. Önbellek örneğinizin ana bilgisayar adı< DNS adı.redis.cache.windows.net.>
    Konum Açılan menüye gidin ve bir konum seçin. Önbelleğinizi kullanan diğer hizmetlerin yakınında bir bölge seçin.
    Önbellek türü Açılan menüye gidin ve bir katman seçin. Katman, önbellek için kullanılabilen boyutu, performansı ve özellikleri belirler. Daha fazla bilgi için bkz. Redis için Azure Cache Genel Bakış.
  4. sekmesini seçin veya sayfanın en altındaki Ağ düğmesini seçin.

  5. sekmesinde bağlantı yönteminizi seçin.

  6. İleri: Gelişmiş sekmesini seçin veya Gelişmiş sekmesini görmek için sayfanın alt kısmındaki İleri: Gelişmiş düğmesini seçin.

    Screenshot showing the Advanced tab in the working pane and the available option to select.

    • Temel veya Standart önbellekler için TLS olmayan bir bağlantı noktası için seçimi değiştirin. Microsoft Entra Authentication'ı etkinleştirmek isteyip istemediğinizi de seçebilirsiniz.
    • Premium önbellek için TLS olmayan bağlantı noktası, kümeleme, yönetilen kimlik ve veri kalıcılığı ayarlarını yapılandırın. Microsoft Entra Authentication'ı etkinleştirmek isteyip istemediğinizi de seçebilirsiniz.
  7. Sonraki: Etiketler sekmesini seçin veya sayfanın en altındaki İleri: Etiketler düğmesini seçin.

  8. İsteğe bağlı olarak, kaynağı kategorilere ayırmak istiyorsanız Etiketler sekmesinde adı ve değeri girin.

  9. Gözden geçir ve oluştur’u seçin. Azure'ın yapılandırmanızı doğruladığı Gözden Geçir ve oluştur sekmesine yönlendirilirsiniz.

  10. Yeşil Doğrulama başarılı iletisi görüntülendiğinde Oluştur'u seçin.

Önbelleğin oluşturulması biraz zaman alır. İlerleme durumunu Redis için Azure Cache Genel Bakış sayfasından izleyebilirsiniz. Durum Çalışıyor olarak gösterildiğinde önbellek kullanıma hazırdır.

Azure portalından konak adını, bağlantı noktalarını ve erişim anahtarlarını alma

Redis için Azure Cache sunucunuzu bağlamak için önbellek istemcisinin ana bilgisayar adına, bağlantı noktalarına ve önbellek anahtarına ihtiyacı vardır. Bazı istemciler bu öğelere biraz daha farklı adlarla başvurabilir. Konak adını, bağlantı noktalarını ve anahtarları Azure portalından alabilirsiniz.

  • Erişim anahtarlarını almak için önbellek sol gezintinizden Erişim anahtarları'nı seçin.

    Azure Cache for Redis keys

  • Konak adını ve bağlantı noktalarını almak için önbellek sol gezintinizden Özellikler'i seçin. Ana bilgisayar adı DNS name.redis.cache.windows.net biçimindedir<.>

    Azure Cache for Redis properties

CacheSecrets.config dosyasını düzenlemek için

  1. Bilgisayarınızda CacheSecrets.config adlı bir dosya oluşturun. Örnek uygulamanızın kaynak koduyla iade edilmeyecek bir konuma yerleştirin. Bu hızlı başlangıç için CacheSecrets.config dosyası şu konumda bulunur: C:\AppSecrets\CacheSecrets.config.

  2. CacheSecrets.config dosyasını düzenleyin. Ardından aşağıdaki içeriği ekleyin:

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. <cache-name> adını, önbellek ana bilgisayar adınızla değiştirin.

  4. <access-key> adını, önbelleğinizin birincil anahtarıyla değiştirin.

    İpucu

    Birincil erişim anahtarını yeniden oluştururken anahtar döndürme sırasında alternatif anahtar olarak ikincil erişim anahtarını kullanabilirsiniz.

  5. Dosyayı kaydedin.

MVC uygulamasını güncelleştirme

Bu bölümde, Redis için Azure Cache karşı basit bir test görüntüleyen bir görünüm sunan bir MVC uygulaması görebilirsiniz.

Web.config dosyası önbelleğe nasıl bağlanır?

Uygulamayı yerel olarak çalıştırdığınızda, cachesecrets.config içindeki bilgiler Redis için Azure Cache örneğine bağlanmak için kullanılır. Daha sonra bu uygulamayı Azure'a dağıtabilirsiniz. O aşamada, uygulamanın bu dosya yerine önbellek bağlantı bilgilerini almak için kullandığı Azure’daki bir uygulama ayarını yapılandırırsınız.

CacheSecrets.config dosyası uygulamanızla Azure’a dağıtılmadığından bunu yalnızca uygulamayı yerel olarak test ederken kullanırsınız. Önbellek verilerinize kötü amaçlı erişimi önlemek için bu bilgileri olabildiğince güvende tutun.

Web.config dosyasını güncelleştirmek için

  1. Çözüm Gezgini'da web.config dosyasını açın.

    Web.config

  2. web.config dosyasında, uygulamayı yerel olarak çalıştırmak için öğesini ayarlayabilirsiniz<appSettings>.

    <appSettings file="C:\AppSecrets\CacheSecrets.config">

ASP.NET çalışma zamanı, <appSettings> öğesindeki biçimlendirmeye sahip harici dosyasının içeriğini birleştirir. Belirtilen dosya bulunamazsa, çalışma zamanı dosya özniteliğini yok sayar. Gizli anahtarlarınız (önbelleğinize bağlantı dizisi) uygulamanız için kaynak kodun bir parçası olarak dahil edilmez. Web uygulamanızı Azure'a dağıttığınızda CacheSecrets.config dosyası dağıtılmaz.

StackExchange.Redis'i yükleme

Çözümünüz için paketin StackExchange.Redis çalıştırılması gerekiyor. Şu yordamla yükleyin:

  1. Uygulamayı Visual Studio için StackExchange.Redis NuGet paketini kullanacak şekilde yapılandırmak için Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu'nu seçin.

  2. Package Manager Console penceresinden aşağıdaki komutu çalıştırın:

    Install-Package StackExchange.Redis
    
  3. NuGet paketi istemciyle Redis için Azure Cache StackExchange.Redis erişmek için istemci uygulamanız için gerekli derleme başvurularını indirir ve ekler.

Redis Bağlan ion ile önbelleğe Bağlan

Önbelleğinize bağlantı sınıfı tarafından RedisConnection yönetilir. Bağlantı ilk olarak şu deyimden ContosoTeamStats/Controllers/HomeController.csyapılır:

   private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(connectionString: ConfigurationManager.AppSettings["CacheConnection"].ToString()););

Cache Bağlan ion gizli dizisinin değerine Gizli Dizi Yöneticisi yapılandırma sağlayıcısı kullanılarak erişilir ve parola parametresi olarak kullanılır.

içinde RedisConnection.csad alanının StackExchange.Redis koda eklendiğini görürsünüz. Bu, sınıf için RedisConnection gereklidir.

using StackExchange.Redis;

Kod, RedisConnection örneğini uygulamasından StackExchange.Redisyöneterek ConnectionMultiplexer önbellekle her zaman iyi durumda bir bağlantı olmasını sağlar. Sınıfı, RedisConnection bağlantı kesildiğinde ve otomatik olarak yeniden bağlanamadığında bağlantıyı yeniden oluşturur.

Daha fazla bilgi için bkz . StackExchange.Redis ve GitHub deposundaki kod.

Örnekteki düzen görünümleri

Bu örneğin giriş sayfası düzeni _Layout.cshtml dosyasında depolanır. Bu sayfadan, bu sayfadan Redis için Azure Cache Test'e tıklayarak gerçek önbellek testini başlatırsınız.

  1. Çözüm Gezgini'nde, Görünümler>Paylaşılan klasörünü genişletin. Ardından _Layout.cshtml dosyasını açın.

  2. içinde <div class="navbar-header">aşağıdaki satırı görürsünüz.

    @Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
    

    screenshot of welcome page

Önbellekteki verileri gösterme

Örnek çıktıyı görmek için giriş sayfasında test Redis için Azure Cache seçeneğini belirleyin.

  1. Çözüm Gezgini’nde Görünümler klasörünü genişletin ve Giriş klasörüne sağ tıklayın.

  2. Bu kodu RedisCache.cshtml dosyasında görmeniz gerekir.

    @{
        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>
    

Uygulamayı yerel olarak çalıştırma

Varsayılan olarak proje, test ve hata ayıklama için uygulamayı IIS Express’te yerel olarak barındırmak üzere yapılandırılır.

Uygulamayı yerel olarak çalıştırmak için

  1. Visual Studio’da Hata Ayıklama>Hata Ayıklamayı Başlat'ı seçerek test ve hata ayıklama için uygulamayı yerel olarak derleyip başlatın.

  2. Tarayıcıda gezinti çubuğunda test Redis için Azure Cache seçin.

  3. Aşağıdaki örnekte, anahtarın önceden portaldaki Message Redis için Azure Cache konsolu kullanılarak ayarlanan önbelleğe alınmış bir değeri vardı. Uygulama, önbelleğe alınan bu değeri güncelleştirdi. Ayrıca uygulama, PING ve CLIENT LIST komutlarını da yürüttü.

    Screenshot of simple test completed local

Azure’da yayımlama ve çalıştırma

Uygulamayı yerel olarak başarıyla test ettikten sonra Azure’a dağıtabilir ve bulutta çalıştırabilirsiniz.

Uygulamayı Azure’da yayımlamak için

  1. Visual Studio’da, Çözüm Gezgini’ndeki proje düğümüne sağ tıklayın. Ardından Yayımla’yı seçin.

    Publish

  2. Microsoft Azure App Service’i, sonra Yeni Oluştur'u ve Yayımla’yı seçin.

    Publish to App Service

  3. Uygulama Hizmetini Oluştur iletişim kutusunda aşağıdaki değişiklikleri yapın:

    Ayar Önerilen değer Açıklama
    Uygulama adı Varsayılan değeri kullanın. Uygulama adı, Azure’a dağıtıldığında uygulamanın ana bilgisayar adı olur. Gerekirse adı benzersiz hale getirmek için ada bir zaman damgası soneki eklenebilir.
    Abonelik Azure aboneliğinizi seçin. Tüm ilgili barındırma maliyetleri bu aboneliğe yansıtılır. Birden çok Azure aboneliğiniz varsa, istediğiniz aboneliğin seçildiğini doğrulayın.
    Kaynak grubu Önbelleği oluşturduğunuz aynı kaynak grubunu kullanın (örneğin, TestResourceGroup). Kaynak grubu, tüm kaynakları bir grup olarak yönetmenize yardımcı olur. Daha sonra uygulamayı silmek istediğinizde, grubu silmeniz yeterli olacaktır.
    App Service planı Yeni’yi seçin ve TestingPlan adlı yeni bir App Service planı oluşturun.
    Önbelleğinizi oluştururken kullandığınız aynı Konumu kullanın.
    Boyut için Serbest’i seçin.
    App Service planı, bir web uygulamasının birlikte çalıştırılacağı işlem kaynakları kümesini tanımlar.

    App Service dialog box

  4. App Service barındırma ayarlarını yapılandırdıktan sonra Oluştur'u seçin.

  5. Yayımlama durumunu görmek için Visual Studio’da Çıkış penceresini izleyin. Uygulama yayımlandıktan sonra uygulamanın URL'si günlüğe kaydedilir:

    Publishing output

Önbellek için uygulama ayarını ekleme

Yeni uygulama yayımlandıktan sonra, yeni uygulama ayarını ekleyin. Bu ayar, önbellek bağlantı bilgilerini depolamak için kullanılır.

Uygulama ayarını eklemek için

  1. Oluşturduğunuz yeni uygulamayı bulmak için Azure portalının üst kısmındaki arama çubuğuna uygulama adını yazın.

    Find app

  2. Önbelleğe bağlanmak için kullanılacak uygulama için CacheConnection adlı yeni bir uygulama ayarı ekleyin. CacheSecrets.config dosyanızda, CacheConnection için yapılandırdığınız aynı değeri kullanın. Değer, önbellek ana bilgisayar adını ve erişim anahtarını içerir.

    Add app setting

Azure’da uygulamayı çalıştırma

  1. Tarayıcınızda, uygulamanın URL'sine gidin. URL, Visual Studio çıkış penceresindeki yayımlama işleminin sonuçlarında gösterilir. Ayrıca Azure portalında, oluşturduğunuz uygulamanın Genel Bakış sayfasında da sağlanır.

  2. Önbellek erişimini yerel sürümde yaptığınız gibi test etmek için gezinti çubuğunda test Redis için Azure Cache seçin.

Kaynakları temizleme

Bu hızlı başlangıcı kullanmaya devam ederseniz, oluşturduğunuz kaynakları tutabilir ve yeniden kullanabilirsiniz.

Aksi takdirde, hızlı başlangıç örnek uygulamasını tamamladıysanız ücret yansıtılmaması için bu hızlı başlangıçta oluşturulan Azure kaynaklarını silebilirsiniz.

Önemli

Silinen kaynak grupları geri alınamaz. Kaynak grubunu sildiğinizde, içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Bu örneği tutmak istediğiniz kaynakları içeren mevcut bir kaynak grubunda barındırmak için kaynakları oluşturduysanız, kaynak grubunu silmek yerine soldaki her kaynağı tek tek silebilirsiniz.

Kaynak grubunu silmek için

  1. Azure portalında oturum açın ve Kaynak grupları’nı seçin.

  2. Ada göre filtrele... kutusuna kaynak grubunuzun adını girin. Bu makaledeki yönergelerde TestResources adlı bir kaynak grubu kullanılmıştır. Sonuç listesindeki kaynak grubunuzda ... düğmesini ve sonra Kaynak grubunu sil’i seçin.

    Delete

  3. Kaynak grubunun silinmesini onaylamanız istenir. Onaylamak için kaynak grubunuzun adını yazın ve ardından Sil’i seçin.

Birkaç dakika sonra kaynak grubu ve bu gruptaki kaynakların tümü silinir.

Sonraki adımlar