Movatterモバイル変換


[0]ホーム

URL:


Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft EdgeMore info about Internet Explorer and Microsoft Edge
Table of contentsExit editor mode

Quickstart: Use Azure Redis in .NET Core

  • Applies to: ✅ Azure Cache for Redis, ✅ Azure Managed Redis
Feedback

In this article

In this quickstart, you incorporate Azure Cache for Redis into a .NET Core app to have access to a secure, dedicated cache that is accessible from any application within Azure. You specifically use theStackExchange.Redis client with C# code in a .NET Core console app.

Skip to the code on GitHub

Clone the repohttps://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/dotnet-core on GitHub.

Prerequisites

Create an Azure Managed Redis instance

  1. To create an Azure Managed Redis instance, sign in to the Azure portal and selectCreate a resource.

  2. On theCreate a resource page, typeAzure Managed Redis in the search box.

  3. Select theAzure Managed Redis tile and selectCreate.

  4. On theCreate Azure Managed Redis instance pane, configure the settings for a new cache on theBasics tab.

    SettingChoose a valueDescription
    SubscriptionDrop down and select your subscription.The subscription under which to create this new Azure Managed Redis instance.
    Resource groupDrop down and select a resource group, or selectCreate new and enter a new resource group name.Name for the resource group in which to create your cache and other resources. By putting all your app resources in one resource group, you can easily manage or delete them together.
    NameEnter a name that is unique in the region.The cache name must be a string between 1 and 63 characters whencombined with the cache's region name that contain only numbers, letters, or hyphens. (If the cache name is fewer than 45 characters long it should work in all currently available regions.) The name must start and end with a number or letter, and can't contain consecutive hyphens. Your cache instance'shost name is\<DNS name\>.\<Azure region\>.redis.azure.net.
    RegionDrop down and select a location.Azure Managed Redis is available in selected Azure regions.
    Data tierSelect eitherIn-memory for high-performance, orFlash for lower performance cachesThe in-memory tiers includeBalanced,Memory Optimized, andCompute Optimized. Use theFlash tier to use in-memory (RAM) and on-disk (SSD) data storage.
    Cache SizeDrop down and select a size.Cache size depends on tier. The smallest size is a Balanced tier. The size largest in-memory tier is a Memory Optimized tier.
    PerformanceDrop down and select a performance preference.Performance depends on the number of vCPUs. Number of vCPU varies with tier. Compute Optimized has the most vCPUs.

    For guidance on choosing the right performance tier, seeChoosing the right tier.

    Important

    All in-memory tiers that use over 235 GB of storage are in Public Preview, including Memory Optimized M350 and higher; Balanced B350 and higher; and Compute Optimized X350 and higher. All these tiers and higher are in Public Preview.

    All Flash Optimized tiers are in Public Preview.

  5. SelectNext: Networking , and select either aDisable public access and use private access orEnable public access from all networks.

  6. SelectNext: Active geo-replication. To use active geo-replication it must be enabled during provisioning. Caches without active geo-replication can't be added to or join active geo-replication groups later. For more information, seeConfigure active geo-replication for Azure Managed Redis instances.

  7. Select theNext: Advanced tab.

    Configure anyRedis modules you want to add to the instance.

    SetClustering policy:

    • UseEnterprise in order to use RedisSearch or other modules
    • UseOSS for a clustered cache.
    • UseNon-clustered (Preview) for a non-clustered cache.

    For more information on choosingClustering policy, seeCluster policy.

    By default, for a new managed cache:

    • Microsoft Entra ID is enabled.
    • Access Keys Authentication is disabled for security reasons.

    Important

    You can't change modules after you create a cache instance. Modules must be enabled at the time you create an Azure Managed Redis instance. There is no option to enable the configuration of a module after you create a cache.

    Important

    For optimal security, we recommend that you use Microsoft Entra ID with managed identities to authorize requests against your cache if possible. Authorization by using Microsoft Entra ID and managed identities provides superior security and ease of use over shared access key authorization. For more information about using managed identities with your cache, seeUse Microsoft Entra ID for cache authentication.

    Important

    You can't change the clustering policy of an Azure Managed Redis instance after you create it. If you're usingRediSearch, the Enterprise cluster policy is required, andNoEviction is the only eviction policy supported.

    Important

    If you're using this cache instance in a geo-replication group, eviction policies cannot be changed after the instance is created. Be sure to know the eviction policies of your primary nodes before you create the cache. For more information on active geo-replication, seeActive geo-replication prerequisites.

  8. SelectNext: Tags and skip.

  9. SelectNext: Review + create.

  10. Review the settings and selectCreate.

    It takes several minutes for the Redis instance to create. You can monitor progress on the Azure Managed RedisOverview page. WhenStatus shows asRunning, the cache is ready to use.

Create an Azure Cache for Redis instance

  1. In theAzure portal, search for and selectAzure Cache for Redis.

  2. On theAzure Cache for Redis page, selectCreate >Azure Cache for Redis.

  3. On theBasics tab of theNew Redis Cache page, configure the following settings:

    • Subscription: Select the subscription to use.
    • Resource group: Select a resource group, or selectCreate new and enter a new resource group name. Putting all your app resources in the same resource group lets you easily manage or delete them together.
    • Name: Enter a cache name that's unique in the region. The name must:
      • Be a string of 1 to 63 characters.
      • Contain only numbers, letters, and hyphens.
      • Start and end with a number or letter.
      • Not contain consecutive hyphens.
    • Region: Select anAzure region near other services that use your cache.
    • Cache SKU: Select aSKU to determine the available sizes, performance, and features for your cache.
    • Cache size: Select a cache size. For more information, seeAzure Cache for Redis overview.

    Screenshot that shows the Basics tab of the New Redis Cache page.

  4. Select theNetworking tab, or selectNext: Networking.

  5. On theNetworking tab, select a connectivity method to use for the cache.Private Endpoint is recommended for security. If you selectPrivate Endpoint, selectAdd private endpoint and create the private endpoint.

  6. Select theAdvanced tab, or selectNext: Advanced.

  7. On theAdvanced pane, configure the following options:

    • SelectMicrosoft Entra Authentication orAccess Keys Authentication.Microsoft Entra Authentication is enabled by default.
    • Choose whether toEnable the non-TLS port.
    • For a Premium cache, you can configure or disableAvailability zones. You can't disable availability zones after the cache is created. For a Standard cache, availability zones are allocated automatically. Availability zones aren't available for Basic SKU.
    • For a Premium cache, configure the settings forReplica count,Clustering andShard count,System-assigned managed identity, andData persistence.

    The following image shows theAdvanced tab for the Standard SKU.

    Screenshot showing the Advanced pane for a Standard SKU cache.

    Important

    Use Microsoft Entra ID with managed identities to authorize requests against your cache if possible. Authorization using Microsoft Entra ID and managed identity provides better security and is easier to use than shared access key authorization. For more information about using managed identities with your cache, seeUse Microsoft Entra ID for cache authentication.

  8. Optionally, select theTags tab or selectNext: Tags, and enter tag names and values to categorize your cache resources.

  9. SelectReview + create, and once validation passes, selectCreate.

The new cache deployment takes several minutes. You can monitor deployment progress on the portal Azure Cache for Redis page. When the cacheStatus displaysRunning, the cache is ready to use.

Use Microsoft Entra ID authentication on your cache

Azure Managed Redis caches have Microsoft Entra Authentication enabled by default.

  1. In the Azure portal, select the cache where you'd like to use Microsoft Entra token-based authentication.

  2. SelectAuthentication from the Resource menu.

  3. SelectSelect member and enter the name of a valid user. The user you enter is automatically assignedData Owner Access Policy by default when you selectSave. You can also enter a managed identity or service principal to connect to your cache instance.

    Screenshot showing authentication selected in the resource menu and the enable Microsoft Entra authentication checked.

For information on using Microsoft Entra ID with Azure CLI, see thereference pages for identity.

Install the Library for using Microsoft Entra ID Authentication

TheAzure.StackExchange.Redis library contains the Microsoft Entra ID authentication method for connecting to Azure Redis services using Microsoft Entra ID. It's applicable to all Azure Cache for Redis, Azure Cache for Redis Enterprise, and Azure Managed Redis.

dotnet add package Microsoft.Azure.StackExchangeRedis

Connect to the cache using Microsoft Entra ID

  1. Include the libraries in your code

    using Azure.Identity;using StackExchange.Redis
  2. Using the default Azure credentials to authenticate the client connection. This enables your code to use the signed-in user credential when running locally, and an Azure managed identity when running in Azure without code change.

var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());ConnectionMultiplexer _newConnection = await ConnectionMultiplexer.ConnectAsync(configurationOptions);IDatabase Database = _newConnection.GetDatabase();

To edit theappsettings.json file

  1. Edit theWeb.config file. Then add the following content:

    "_redisHostName":"<cache-hostname>"
  2. Replace<cache-hostname> with your cache host name as it appears in the Overview section of the Resource menu in the Azure portal.

    For example, with Azure Managed Redis or the Enterprise tiers:my-redis.eastus.azure.net:10000

  3. Save the file.

For more information, seeStackExchange.Redis and the code in aGitHub repo.

To edit theappsettings.json file

  1. Edit theappsettings.json file. Then add the following content:

    "_redisHostName":"<cache-hostname>"
  2. Replace<cache-hostname> with your cache host name as it appears in the Overview section of the Resource menu in the Azure portal.

    For example, with Azure Cache for Redis:my-redis.eastus.azure.net:6380

  3. Save the file.

For more information, seeStackExchange.Redis and the code in aGitHub repo.

Run the sample

If you opened any files, save them, and build the app with the following command:

dotnet build

To test serialization of .NET objects, run the app with the following command:

dotnet run

Screenshot sowing console app completed.

Clean up resources

If you want to continue to use the resources you created in this article, keep the resource group.

Otherwise, if you're finished with the resources, you can delete the Azure resource group that you created to avoid charges.

Important

Deleting a resource group is irreversible. When you delete a resource group, all the resources in it are permanently deleted. Make sure that you do not accidentally delete the wrong resource group or resources. If you created the resources inside an existing resource group that contains resources you want to keep, you can delete each resource individually instead of deleting the resource group.

To delete a resource group

  1. Sign in to theAzure portal, and then selectResource groups.

  2. Select the resource group you want to delete.

    If there are many resource groups, use theFilter for any field... box, type the name of your resource group you created for this article. Select the resource group in the results list.

    Screenshot showing a list of resource groups to delete in the working pane.

  3. SelectDelete resource group.

  4. You're asked to confirm the deletion of the resource group. Type the name of your resource group to confirm, and then selectDelete.

    Screenshot showing a form that requires the resource name to confirm deletion.

After a few moments, the resource group and all of its resources are deleted.

Related content


Feedback

Was this page helpful?

YesNoNo

Need help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?

  • Last updated on

In this article

Was this page helpful?

YesNo
NoNeed help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?