Skip to content

Commit 17429a9

Browse files
committed
Merge branch 'fxl---managed-redis-GA-preview' into fxl---import-issue-ado-bug--32885338
2 parents 8aae640 + 5701791 commit 17429a9

File tree

85 files changed

+821
-1054
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+821
-1054
lines changed

articles/azure-cache-for-redis/cache-whats-new.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22
title: What's New in Azure Cache for Redis
33
description: Recent updates for Azure Cache for Redis
44

5-
65
ms.custom: references_regions
76

8-
97
ms.topic: conceptual
108
ms.date: 11/15/2024
119
appliesto:
@@ -15,6 +13,26 @@ appliesto:
1513

1614
# What's New in Azure Cache for Redis
1715

16+
Find out what's new in Azure Redis.
17+
18+
## May 2025
19+
20+
### Azure Managed Redis General Availability (GA)
21+
22+
[Azure Managed Redis](/azure/redis/overview) is Generally Available (GA) as a product. However, certain features remain in Public Preview.
23+
24+
- Scaling a cache
25+
- Data persistence
26+
- Non-clustered caches
27+
28+
All in-memory tiers that use over 120 GB of storage are in Public Preview, including:
29+
30+
- Memory Optimized M150 and higher
31+
- Balanced B150 and higher
32+
- Compute Optimized X150 and higher
33+
34+
All Flash Optimized tiers are in Public Preview.
35+
1836
## November 2024
1937

2038
### Cache creation with zone redundancy by default

articles/redis/TOC.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ items:
1616
href: quickstart-create-managed-redis.md
1717
- name: Create an Azure Cache for Redis instance in the Basic, Standard and Premium tiers
1818
href: ../azure-cache-for-redis/quickstart-create-redis.md
19-
- name: Create an Azure Cache for Redis instance in the Enterprise tiers
20-
href: ../azure-cache-for-redis/quickstart-create-redis-enterprise.md
2119
- name: Create and manage with Azure PowerShell
2220
href: how-to-manage-redis-cache-powershell.md
2321
- name: Create and manage with Azure CLI
@@ -165,11 +163,12 @@ items:
165163
items:
166164
- name: Persist your cache with Redis data persistence
167165
href: how-to-persistence.md
168-
- name: Set up Enterprise active geo-replication
166+
- name: Set up active geo-replication
169167
href: how-to-active-geo-replication.md
170168
- name: Failover and patching
171169
href: failover.md
172170

171+
173172
- name: Diagnose and troubleshoot
174173
items:
175174
- name: Troubleshoot connectivity issues
@@ -188,7 +187,7 @@ items:
188187
- name: Migration
189188
expanded: true
190189
items:
191-
- name: Migrate to Azure Managed Redis from Azure Cache for Redis
190+
- name: Move from Azure Cache for Redis to Azure Managed Redis
192191
href: migrate/migrate-overview.md
193192
- name: Migrate to Azure Redis from other caches
194193
href: /azure/azure-cache-for-redis/cache-migration-guide

articles/redis/architecture.md

Lines changed: 48 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
11
---
2-
title: Azure Managed Redis (preview) Architecture
2+
title: Azure Managed Redis Architecture
33
description: Learn how Azure Managed Redis is architected
4-
4+
ms.date: 05/18/2025
55
ms.service: azure-managed-redis
6+
ms.topic: conceptual
67
ms.custom:
78
- ignite-2024
8-
ms.topic: conceptual
9-
ms.date: 11/15/2024
10-
appliesto:
11-
- ✅ Azure Managed Redis
9+
- build-2025
1210
---
1311

14-
# Azure Managed Redis (preview) Architecture
12+
# Azure Managed Redis architecture
1513

16-
Azure Managed Redis (preview) runs on the [Redis Enterprise](https://redis.io/technology/advantages/) stack, which offers significant advantages over the community edition of Redis. The following information provides greater detail about how Azure Managed Redis is architected, including information that can be useful to power users.
17-
18-
> [!IMPORTANT]
19-
> Azure Managed Redis is currently in PREVIEW.
20-
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
14+
Azure Managed Redis runs on the [Redis Enterprise](https://redis.io/technology/advantages/) stack, which offers significant advantages over the community edition of Redis. The following information provides greater detail about how Azure Managed Redis is architected, including information that can be useful to power users.
2115

2216
## Comparison with Azure Cache for Redis
2317

24-
The Basic, Standard, and Premium tiers of Azure Cache for Redis were built on the community edition of Redis. This version of Redis has several significant limitations, including being single-threaded by design. This reduces performance significantly and makes scaling less efficient as more vCPUs aren't fully utilized by the service. A typical Azure Cache for Redis instance uses an architecture like this:
18+
The Basic, Standard, and Premium tiers of Azure Cache for Redis were built on the community edition of Redis. This community edition of Redis has several significant limitations, including being single-threaded. This reduces performance significantly and makes scaling less efficient as more vCPUs aren't fully utilized by the service. A typical Azure Cache for Redis instance uses an architecture like this:
2519

2620
:::image type="content" source="media/architecture/cache-architecture.png" alt-text="Diagram showing the architecture of the Azure Cache for Redis offering.":::
2721

@@ -43,17 +37,34 @@ This architecture enables both higher performance and also advanced features lik
4337

4438
## Clustering
4539

46-
Because Redis Enterprise is able to use multiple shards per node, each Azure Managed Redis instance is internally configured to use clustering, across all tiers and SKUs. That includes smaller instances that are only set up to use a single shard. Clustering is a way to divide the data in the Redis instance across the multiple Redis processes, also called "sharding." Azure Managed Redis offers two [cluster policies](#cluster-policies) that determine which protocol is available to Redis clients for connecting to the cache instance.
40+
Each Azure Managed Redis instance is internally configured to use clustering, across all tiers and SKUs. Azure Managed Redis is based on Redis Enterprise, which is able to use multiple shards per node. That includes smaller instances that are only set up to use a single shard. Clustering is a way to divide the data in the Redis instance across the multiple Redis processes, also called "sharding." Azure Managed Redis offers three [cluster policies](#cluster-policies) that determine which protocol is available to Redis clients for connecting to the cache instance.
4741

4842
### Cluster policies
4943

50-
Azure Managed Redis offers two choices for clustering policy: _OSS_ and _Enterprise_. _OSS_ cluster policy is recommended for most applications because it supports higher maximum throughput, but there are advantages and disadvantages to each version.
44+
Azure Managed Redis offers three clustering policies: _OSS_, _Enterprise_, and Non-Clustered (preview). _OSS_ cluster policy is recommended for most applications because it supports higher maximum throughput, but there are advantages and disadvantages to each version.
45+
46+
The **OSS clustering policy** implements the same [Redis Cluster API](https://redis.io/docs/reference/cluster-spec/) as Azure Cache for Redis tiers. The Redis Cluster API allows the Redis client to connect directly to shards on each Redis node, minimizing latency and optimizing network throughput, allowing throughput to scale near-linearly as the number of shards and vCPUs increases. The OSS clustering policy generally provides the best latency and throughput performance. The OSS cluster policy, however, requires your client library to support the Redis Cluster API. Today, almost all Redis clients support the Redis Cluster API, but compatibility might be an issue for older client versions or specialized libraries.
47+
48+
OSS clustering policy can't be used with the [RediSearch module](redis-modules.md).
5149

52-
The **OSS clustering policy** implements the same [Redis Cluster API](https://redis.io/docs/reference/cluster-spec/) as community edition Redis. The Redis Cluster API allows the Redis client to connect directly to shards on each Redis node, minimizing latency and optimizing network throughput, allowing throughput to scale near-linearly as the number of shards and vCPUs increases. The OSS clustering policy generally provides the best latency and throughput performance. The OSS cluster policy, however, requires your client library to support the Redis Cluster API. Today, almost all Redis clients support the Redis Cluster API, but compatibility might be an issue for older client versions or specialized libraries. OSS clustering policy also can't be used with the [RediSearch module](redis-modules.md).
50+
The OSS clustering protocol requires the client to make the correct shard connections. The initial connection is through port 10000. Connecting to individual nodes is done using ports in the 85XX range. The 85xx ports can change over time, and shouldn't be hardcoded into your application. Redis clients that support clustering use the [CLUSTER NODES](https://redis.io/commands/cluster-nodes/) command to determine the exact ports used for the primary and replica shards and make the shard connections for you.
5351

54-
The OSS clustering protocol requires the client to make the correct shard connections. The initial connection is through port 10000. Connecting to individual nodes is done using ports in the 85XX range. The 85xx ports will change over time and shouldn't be hardcoded into your application. Redis clients that support clustering use the [CLUSTER NODES](https://redis.io/commands/cluster-nodes/) command to determine the exact ports used for the primary and replica shards and make the shard connections for you.
52+
The **Enterprise clustering policy** is a simpler configuration that utilizes a single endpoint for all client connections. Using the Enterprise clustering policy routes all requests to a single Redis node that is then used as a proxy, internally routing requests to the correct node in the cluster. The advantage of this approach is that it makes Azure Managed Redis look non-clustered to users. That means that Redis client libraries don’t need to support Redis Clustering to gain some of the performance advantages of Redis Enterprise. Using a single end point boosts backwards compatibility and makes connection simpler. The downside is that the single node proxy can be a bottleneck, in either compute utilization or network throughput.
5553

56-
The **Enterprise clustering policy** is a simpler configuration that utilizes a single endpoint for all client connections. Using the Enterprise clustering policy routes all requests to a single Redis node that is then used as a proxy, internally routing requests to the correct node in the cluster. The advantage of this approach is that it makes Azure Managed Redis look nonclustered to users. That means that Redis client libraries don’t need to support Redis Clustering to gain some of the performance advantages of Redis Enterprise, boosting backwards compatibility and making the connection simpler. The downside is that the single node proxy can be a bottleneck, in either compute utilization or network throughput. The Enterprise clustering policy is the only one that can be used with the [RediSearch module](redis-modules.md). While the Enterprise cluster policy makes an Azure Managed Redis instance appear to be nonclustered to users, it still has some limitations with [Multi-key commands](#multi-key-commands).
54+
The Enterprise clustering policy is the only one that can be used with the [RediSearch module](redis-modules.md). While the Enterprise cluster policy makes an Azure Managed Redis instance appear to be non-clustered to users, it still has some limitations with [Multi-key commands](#multi-key-commands).
55+
56+
The **Non-Clustered (preview)** clustering policy stores data on each node without sharding. It applies only to caches sized 25 GB and smaller. Scenarios for using Non-Clustered (preview) clustering policy include:
57+
58+
- When migrating from a Redis environment that’s non-sharded. For example, the non-sharded topologies of Basic, Standard, and Premium SKUs of Azure Cache for Redis.
59+
- When running cross slot commands extensively and dividing data into shards would cause failures. For example, the MULTI commands.
60+
- When using Redis as message broker and doesn't need sharding.
61+
62+
The considerations for using Non-Clustered (Preview) policy are:
63+
64+
- It only applies to Azure Managed Redis tiers less than or equal to 25 GB.
65+
- It’s not as performant as other clustering policies because CPUs can only multi-thread with Redis Enterprise software when it’s sharded.
66+
- If you want to scale up your Azure Managed Redis cache, you must firs change the cluster policy.
67+
- If you're moving from Basic, Standard, or Premium non-clustered topology, consider to using OSS clusters to accelerate performance. Non-clustered should only be considered if the application program can't work with either OSS or Enterprise topologies.
5768

5869
### Scaling out or adding nodes
5970

@@ -72,29 +83,33 @@ In Active-Active databases, multi-key write commands (`DEL`, `MSET`, `UNLINK`) c
7283
Each SKU of Azure Managed Redis is configured to run a specific number of Redis server processes, _shards_ in parallel. The relationship between throughput performance, the number of shards, and number of vCPUs available on each instance is complicated. Adding shards generally increases performance as Redis operations can be run in parallel. However, if shards aren't able to run commands because no vCPUs are available to execute commands, performance can actually drop. The following table shows the sharding configuration for each Azure Managed Redis SKU. These shards are mapped to optimize the usage of each vCPU while reserving vCPU cycles for Redis Enterprise proxy, management agent, and OS system tasks which also affect performance.
7384

7485
>[!NOTE]
75-
> The number of shards and vCPUs used on each SKU can change over time as performance is optimized by the Azure Managed Redis team.
86+
> Azure Managed Redis optimizes performance over time by changing the number of shards and vCPUs used on each SKU.
7687
>
7788
78-
| Tiers | Flash Optimized | Memory Optimized | Balanced | Compute Optimized |
89+
[!INCLUDE [tier-preview](includes/tier-preview.md)]
90+
91+
| Tiers | Flash Optimized (preview) | Memory Optimized | Balanced | Compute Optimized |
7992
|:-----------:|:-------------------:|:--------------------:|:--------------------:|:--------------------:|
8093
| Size (GB) | vCPUs/primary shards | vCPUs/primary shards | vCPUs/primary shards | vCPUs/primary shards |
81-
| 0.5 | - | - | 2/2 | - |
82-
| 1 | - | - | 2/2 | - |
94+
| 0.5 | - | - | 2/1 | - |
95+
| 1 | - | - | 2/1 | - |
8396
| 3 | - | - | 2/2 | 4/2 |
8497
| 6 | - | - | 2/2 | 4/2 |
8598
| 12 | - | 2/2 | 4/2 | 8/6 |
8699
| 24 | - | 4/2 | 8/6 | 16/12 |
87100
| 60 | - | 8/6 | 16/12 | 32/24 |
88101
| 120 | - | 16/12 | 32/24 | 64/48 |
89-
| 180 | - | 24/24 | 48/48 | 96/96 |
90-
| 240 | 8/6 | 32/24 | 64/48 | 128/96 |
91-
| 360 | - | 48/48 | 96/96 | 192/192 |
92-
| 480 | 16/12 | 64/48 | 128/96 | 256/192 |
93-
| 720 | 24/24 | 96/96 | 192/192 | 384/384 |
94-
| 960 | 32/24 | 128/192 | 256/192 | - |
95-
| 1440 | 48/48 | 192/192 | - | - |
96-
| 1920 | 64/48 | 256/192 | - | - |
97-
| 4500 | 144/96 | - | - | - |
102+
| 180 * | - | 24/24 | 48/48 | 96/96 |
103+
| 240 * | 8/6 | 32/24 | 64/48 | 128/96 |
104+
| 360 * | - | 48/48 | 96/96 | 192/192 |
105+
| 480 * | 16/12 | 64/48 | 128/96 | 256/192 |
106+
| 720 * | 24/24 | 96/96 | 192/192 | 384/384 |
107+
| 960 * | 32/24 | 128/192 | 256/192 | - |
108+
| 1440 * | 48/48 | 192/192 | - | - |
109+
| 1920 * | 64/48 | 256/192 | - | - |
110+
| 4500 * | 144/96 | - | - | - |
111+
112+
\* These tiers are in Public Preview.
98113

99114
## Running without high availability mode enabled
100115

@@ -106,7 +121,7 @@ On each Azure Managed Redis Instance, approximately 20% of the available memory
106121

107122
## Scaling down
108123

109-
Scaling down is not currently supported on Azure Managed redis. For more information, see [Prerequisites/limitations of scaling Azure Managed Redis](how-to-scale.md#prerequisiteslimitations-of-scaling-azure-managed-redis).
124+
Scaling down isn't currently supported on Azure Managed redis. For more information, see [Limitations of scaling Azure Managed Redis](how-to-scale.md#limitations-of-scaling-azure-managed-redis).
110125

111126
## Flash Optimized tier
112127

@@ -135,6 +150,6 @@ Some workloads have access characteristics that are less optimized for the desig
135150
- Random or uniform data access patterns across most of the dataset.
136151
- Long key names with relatively small value sizes.
137152

138-
## Next steps
153+
## Related content
139154

140155
- [Scale an Azure Managed Redis instance](how-to-scale.md)

articles/redis/aspnet-core-output-cache-provider.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22
title: ASP.NET Core output cache provider for Azure Cache for Redis
33
description: Use the Redis Output Cache Provider to cache ASP.NET Core page output out of process by using Azure Cache for Redis.
44
ms.author: cawa
5-
6-
ms.devlang: csharp
7-
ms.custom: devx-track-csharp, ignite-2024
8-
ms.topic: how-to
95
ms.date: 06/14/2024
10-
appliesto:
11-
- ✅ Azure Cache for Redis
12-
13-
#customer intent: As a cloud developer, I want to understand core output caching via Azure Cache for Redis so that I can implement it for storing page output.
6+
ms.topic: how-to
7+
ms.custom:
8+
- devx-track-csharp
9+
- ignite-2024
10+
- build-2025
11+
ms.devlang: csharp
12+
# customer intent: As a cloud developer, I want to understand core output caching via Azure Cache for Redis so that I can implement it for storing page output.
1413
---
1514

1615
# ASP.NET Core Output Cache Provider for Azure Cache for Redis
@@ -133,7 +132,7 @@ It's a security best practice to avoid storing passwords in clear text in source
133132
134133
You can find the connection string for open source Redis tiers by selecting **Authentication** on the **Resource** menu. Here's an example string: `<Azure_redis_name>.redis.cache.windows.net:6380,password=<Azure_redis_primary_accesskey>,ssl=True,abortConnect=False`.
135134
136-
You can find the access keys for Redis Enterprise or Azure Managed Redis (Preview) by selecting **Access keys** on the **Resource** menu. The connection string can be derived with other Redis information from the **Overview** section of the **Resource** menu. Here's an example string: `<Azure_redis_name>.<Azure_region>.redisenterprise.cache.azure.net:10000,password=<Azure_redis_primary_accesskey>,ssl=True,abortConnect=False`.
135+
You can find the access keys for Redis Enterprise or Azure Managed Redis by selecting **Access keys** on the **Resource** menu. The connection string can be derived with other Redis information from the **Overview** section of the **Resource** menu. Here's an example string: `<Azure_redis_name>.<Azure_region>.redisenterprise.cache.azure.net:10000,password=<Azure_redis_primary_accesskey>,ssl=True,abortConnect=False`.
137136
138137
1. Set the Redis connection for the web application by using the Azure CLI:
139138

0 commit comments

Comments
 (0)