Skip to content

Commit 7e7099e

Browse files
committed
Merge branch 'main' into release-esan-backup
2 parents e1e217e + 453d5d8 commit 7e7099e

File tree

185 files changed

+2358
-1496
lines changed

Some content is hidden

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

185 files changed

+2358
-1496
lines changed

articles/api-management/set-header-policy.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,11 @@ User-Agent: value2
6767
User-Agent: value3
6868
```
6969

70-
The following limitations apply:
70+
#### Limitations
7171

72-
- Removal of `Server` header isn't supported.
73-
- Headers: `Connection`, `ContentLength`, `KeepAlive`, `TransferEncoding` cannot be modified or deleted.
72+
- The following headers can't be appended, overridden, or deleted: `Connection`, `Content-Length`, `Keep-Alive`, `Transfer-Encoding`
73+
- The client IP address value in the `X-Forwarded-For` header can't be deleted
74+
- The `Server` header can't be deleted in responses
7475

7576
## Examples
7677

articles/application-gateway/http-response-codes.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: application-gateway
55
author: mbender-ms
66
ms.service: azure-application-gateway
77
ms.topic: troubleshooting
8-
ms.date: 03/28/2025
8+
ms.date: 05/26/2025
99
ms.author: mbender
1010
---
1111

@@ -97,10 +97,7 @@ Other reasons for clients receiving 403 responses include:
9797

9898
#### 404 – Page not found
9999

100-
An HTTP 404 response can be returned if a request is sent to an application gateway that is:
101-
- Using a [v2 sku](overview-v2.md).
102-
- Without a hostname match defined in any [multi-site listeners](multiple-site-overview.md).
103-
- Not configured with a [basic listener](application-gateway-components.md#types-of-listeners).
100+
An HTTP 404 response is generated when a request is made to Application Gateway (V2 SKUs) with a hostname that doesn’t corresponds to any of the configured Multi-site listeners, and there is no Basic listener present. Learn more about [types of listeners](application-gateway-components.md#types-of-listeners).
104101

105102
#### 408 – Request Time-out
106103

articles/automation/shared-resources/modules.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Manage modules in Azure Automation
33
description: This article tells how to use PowerShell modules to enable cmdlets in runbooks and DSC resources in DSC configurations.
44
services: automation
55
ms.subservice: shared-capabilities
6-
ms.date: 10/01/2024
6+
ms.date: 05/27/2025
77
ms.topic: how-to
88
ms.custom: devx-track-azurepowershell, devx-track-python
99
ms.service: azure-automation

articles/azure-app-configuration/enable-dynamic-configuration-azure-functions-csharp.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ In this tutorial, you learn how to:
2121

2222
> [!div class="checklist"]
2323
> * Set up dynamic configuration refresh for your Azure Functions app.
24-
> * Enable automatic configuration refresh using App Configuraion middleware.
24+
> * Enable automatic configuration refresh using App Configuration middleware.
2525
> * Use the latest configuration in Function calls when changes occur in your App Configuration store.
2626
2727
## Prerequisites

articles/azure-cache-for-redis/cache-how-to-scale.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ az redis update --cluster-name myCache --resource-group myGroup --set "sku.name"
137137
For more information on scaling with Azure CLI, see [Change settings of an existing Azure Cache for Redis](cache-manage-cli.md#scale).
138138

139139
> [!NOTE]
140-
> When you scale a cache up or down programatically (e.g. using PowerShell or Azure CLI), any `maxmemory-reserved` or `maxfragmentationmemory-reserved` are ignored as part of the update request. Only your scaling change is honored. You can update these memory settings after the scaling operation has completed.
140+
> When you scale a cache up or down programmatically (e.g. using PowerShell or Azure CLI), any `maxmemory-reserved` or `maxfragmentationmemory-reserved` are ignored as part of the update request. Only your scaling change is honored. You can update these memory settings after the scaling operation has completed.
141141
>
142142
143143
### [Scale out and in - Premium only](#tab/scale-out-and-in---premium-only)
Lines changed: 41 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,122 +1,94 @@
11
---
22
title: Migrate to Azure Cache for Redis
3-
description: Learn how to migrate your existing cache to Azure Cache for Redis
3+
description: Learn how to migrate an existing cache to Azure Cache for Redis or migrate between Azure Cache for Redis instances.
44
ms.topic: conceptual
55
ms.custom:
66
- ignite-2024
77
ms.collection:
88
- migration
99
- aws-to-azure
10-
ms.date: 11/17/2021
10+
ms.date: 05/22/2025
1111
appliesto:
1212
- ✅ Azure Cache for Redis
1313

1414
---
15-
# Migrate to Azure Cache for Redis
15+
# Migrate to or between Azure Cache for Redis instances
1616

17-
This article describes a number of approaches to migrate an existing Redis cache running on-premises or in another cloud service to Azure Cache for Redis.
17+
This article describes several Azure Cache for Redis migration scenarios. You can migrate open-source Redis caches running on-premises or in cloud virtual machines (VMs), or hosted caches from other cloud platforms, to Azure Cache for Redis.
1818

19-
## Migration scenarios
19+
You can also migrate one Azure Cache for Redis instance to another instance. If you only need to move an Azure Redis cache from one Azure region to another, see [Move Azure Cache for Redis instances to different regions](cache-moving-resources.md).
2020

21-
Open-source Redis can run in many compute environments. Common examples include:
22-
23-
- **On-premises** - Redis caches running in private data centers.
24-
- **Cloud-based VMs** - Redis caches running on Azure VMs, AWS EC2, and so on.
25-
- **Hosting services** - Managed Redis services such as AWS ElastiCache.
26-
27-
If you have such a cache, you may be able to move it to Azure Cache for Redis with minimal interruption or downtime.
28-
29-
If you're looking to move from one Azure region to another, we recommend you see our [Move Azure Cache for Redis instances to different regions](cache-moving-resources.md) article.
21+
Open-source Redis can run in many compute environments, such as private on-premises data centers or cloud-hosted VMs. Other hosting platforms like Amazon Web Services (AWS) host Redis cache services like AWS ElastiCache. You can usually migrate these Redis caches to Azure Cache for Redis with minimal interruption or downtime.
3022

3123
## Migration options
3224

33-
There are different ways that you can switch from one cache to another. Depending on where your cache is and how your application interacts with it, one method will be more useful than the others. Some of the frequently used migration strategies are detailed below.
25+
How you migrate from one cache to another depends on where your cache exists and how your application interacts with it. The following table lists frequently used migration strategies.
3426

3527
| Option | Advantages | Disadvantages |
3628
| ------------ | ---------- | ------------- |
37-
| Create a new cache | Simplest to implement. | Need to repopulate data to the new cache, which may not work with many applications. |
38-
| Export and import data via RDB file | Compatible with any Redis cache generally. | Some data could be lost, if they're written to the existing cache after the RDB file is generated. |
39-
| Dual-write data to two caches | No data loss or downtime. Uninterrupted operations of the existing cache. Easier testing of the new cache. | Needs two caches for an extended period of time. |
40-
| Migrate data programmatically | Full control over how data are moved. | Requires custom code. |
29+
| Create a new cache | Simplest to implement. | Must repopulate data to the new cache, which might not work with some applications. |
30+
| Export and import data via read-only database (RDB) file. | Compatible with any Redis cache. | Data written to the existing cache after the RDB file is generated could be lost. |
31+
| Dual-write data to two caches. | No data loss or downtime, no interrupted cache operations, and easier testing. | Needs two caches for an extended time period. |
32+
| Migrate data programmatically. | Full control over how data is moved. | Requires custom code. |
4133

42-
### Create a new Azure Cache for Redis
34+
### Create a new cache
4335

44-
This approach technically isn't a migration. If losing data isn't a concern, the easiest way to move to Azure Cache for Redis is to create cache instance and connect your application to it. For example, if you use Redis as a look-aside cache of database records, you can easily rebuild the cache from scratch.
36+
If uninterrupted operations and potential data loss aren't concerns, the easiest way to move data to Azure Cache for Redis is to create an Azure Redis cache instance and connect your application to it. For example, if you use Redis as a look-aside cache of database records, you can easily rebuild the cache from scratch. This approach isn't technically a migration.
4537

4638
General steps to implement this option are:
4739

48-
1. Create a new Azure Cache for Redis instance.
49-
50-
1. Optionally, try out the new [Azure Managed Redis (preview)](../redis/overview.md).
51-
52-
2. Update your application to use the new instance.
53-
40+
1. Create a new Azure Cache for Redis instance. Optionally, try out [Azure Managed Redis](../redis/overview.md).
41+
1. Update your application to use the new Azure Redis instance.
5442
3. Delete the old Redis instance.
5543

5644
### Export data to an RDB file and import it into Azure Cache for Redis
5745

58-
Open-source Redis defines a standard mechanism for taking a snapshot of a cache's in-memory dataset and saving it to a file. This file, called RDB, can be read by another Redis cache. [Azure Cache for Redis premium tier](cache-overview.md#service-tiers) supports importing data into a cache instance via RDB files. You can use an RDB file to transfer data from an existing cache to Azure Cache for Redis.
46+
Open-source Redis defines a standard mechanism to take a snapshot of a cache's in-memory dataset and save it to an RDB file that any Redis cache can read. Azure Cache for Redis [Premium tier](cache-overview.md#service-tiers) supports importing data into a cache instance via RDB file. You can use the RDB file to transfer data from an existing cache to Azure Cache for Redis.
5947

6048
> [!IMPORTANT]
61-
> RDB file format can change between Redis versions and may not maintain backward-compatibility. The Redis version of the cache you're exporting from should be equal or less than the version provided by Azure Cache for Redis.
62-
>
49+
> RDB file format can change between Redis versions and might not maintain backward compatibility. The Redis version of the cache you export should be equal to or lower than the version that Azure Cache for Redis provides.
6350
6451
General steps to implement this option are:
6552

66-
1. Create a new Azure Cache for Redis instance in the premium tier that is the same size as (or bigger than) the existing cache.
67-
68-
2. Save a snapshot of the existing Redis cache. You can [configure Redis to save snapshots](https://redis.io/topics/persistence) periodically, or run the process manually using the [SAVE](https://redis.io/commands/save) or [BGSAVE](https://redis.io/commands/bgsave) commands. The RDB file is named “dump.rdb” by default and will be located at the path specified in the *redis.conf* configuration file.
69-
70-
> [!NOTE]
71-
> If you’re migrating data within Azure Cache for Redis, see [these instructions on how to export an RDB file](cache-how-to-import-export-data.md) or use the [PowerShell Export cmdlet](/powershell/module/az.rediscache/export-azrediscache) instead.
72-
>
53+
1. Save a snapshot of the existing Redis cache. You can [configure Redis to save snapshots](https://redis.io/topics/persistence) periodically, or save one manually using the [SAVE](https://redis.io/commands/save) or [BGSAVE](https://redis.io/commands/bgsave) commands. The RDB file is named *dump.rdb* by default and is located at the path specified in the *redis.conf* configuration file.
54+
1. Create a new Premium-tier Azure Cache for Redis instance that's at least as large as the existing cache.
55+
1. Copy the RDB file to an Azure storage account in the region where your new cache is located. You can use `AzCopy` for this task.
56+
1. [Import](cache-how-to-import-export-data.md#import) the RDB file into the new cache. You can also use the PowerShell [Import-AzRedisCache](/powershell/module/az.rediscache/import-azrediscache) cmdlet.
57+
1. Update your application to use the new cache instance.
7358

74-
3. Copy the RDB file to an Azure storage account in the region where your new cache is located. You can use AzCopy for this task.
75-
76-
4. Import the RDB file into the new cache using these [import instructions](cache-how-to-import-export-data.md) or the [PowerShell Import cmdlet](/powershell/module/az.rediscache/import-azrediscache).
59+
> [!NOTE]
60+
> To migrate data from another Azure Redis instance, first [export](cache-how-to-import-export-data.md#export) the RDB file from that instance, or use the PowerShell [Export-AzRedisCache](/powershell/module/az.rediscache/export-azrediscache) cmdlet.
7761
78-
5. Update your application to use the new cache instance.
62+
### Write to two Redis caches during migration
7963

80-
### Write to two Redis caches simultaneously during migration period
64+
Rather than moving data between caches, you can temporarily set your application to write data to both an existing cache and a new one. The application reads data from the existing cache initially. When the new cache has enough data, you can switch the application to that cache and retire the old one.
8165

82-
Rather than moving data directly between caches, you may use your application to write data to both an existing cache and a new one you're setting up. The application will still read data from the existing cache initially. When the new cache has the necessary data, you switch the application to that cache and retire the old one. Let's say, for example, you use Redis as a session store and the application sessions are valid for seven days. After writing to the two caches for a week, you'll be certain the new cache contains all non-expired session information. You can safely rely on it from that point onward without concern over data loss.
66+
For example, suppose you use Redis as a session store and the application sessions expire after seven days. After writing to both caches for seven days, you know the new cache contains all nonexpired session information and you can safely rely on it from that point on. You can then retire the old cache.
8367

8468
General steps to implement this option are:
8569

86-
1. Create a new Azure Cache for Redis instance in the premium tier that is the same size as (or bigger than) the existing cache.
87-
88-
2. Modify application code to write to both the new and the original instances.
89-
90-
3. Continue reading data from the original instance until the new instance is sufficiently populated with data.
91-
92-
4. Update the application code to reading and writing from the new instance only.
93-
94-
5. Delete the original instance.
70+
1. Create a new Premium-tier Azure Cache for Redis instance that's at least as large as the existing cache.
71+
1. Modify your application code to write to both the new and the original instances.
72+
1. Continue using data from the original instance until the new instance is sufficiently populated with data.
73+
1. Update the application code to reading and writing from the new instance only.
74+
1. Delete the original instance.
9575

9676
### Migrate programmatically
9777

98-
You can create a custom migration process by programmatically reading data from an existing cache and writing them into Azure Cache for Redis. This [open-source tool](https://github.com/deepakverma/redis-copy) can be used to copy data from one Azure Cache for Redis instance to another. A [compiled version](https://github.com/deepakverma/redis-copy/releases/download/alpha/Release.zip) is available as well. You may also find the source code to be a useful guide for writing your own migration tool.
78+
You can create a custom migration by programmatically reading data from an existing cache and writing it into Azure Cache for Redis. For example, you can use the open-source [redis-copy](https://github.com/deepakverma/redis-copy) tool to copy data from one Azure Redis instance to another.
79+
80+
The source code can be a useful guide for writing your own migration tool. A [compiled version](https://github.com/deepakverma/redis-copy/releases/download/alpha/Release.zip) is also available.
9981

10082
> [!NOTE]
10183
> This tool isn't officially supported by Microsoft.
102-
>
10384
10485
General steps to implement this option are:
10586

106-
1. Create a VM in the region where the existing cache is located. If your dataset is large, choose a relatively powerful VM to reduce copying time.
107-
108-
2. Create a new Azure Cache for Redis instance.
109-
110-
3. Flush data from the new cache to ensure that it's empty. This step is required because the copy tool itself doesn't overwrite any existing key in the target cache.
111-
112-
> [!IMPORTANT]
113-
> Make sure to NOT flush from the source cache.
114-
>
115-
116-
4. Use an application such as the open-source tool above to automate the copying of data from the source cache to the target. Remember that the copy process could take a while to complete depending on the size of your dataset.
87+
1. Create an Azure virtual machine (VM) in the same region as the existing cache. If your dataset is large, choose a powerful VM to reduce copying time.
88+
1. Create a new Azure Cache for Redis instance and make sure that it's empty. The `redis-copy` tool doesn't overwrite any existing keys in the target cache.
89+
4. Use an application such as `redis-copy` to automate copying the data from the source cache to the target cache. The copy process could take a while depending on the size of your dataset.
11790

118-
## Next steps
119-
Learn more about Azure Cache for Redis features.
91+
## Related content
12092

121-
* [Azure Cache for Redis service tiers](cache-overview.md#service-tiers)
122-
* [Import data](cache-how-to-import-export-data.md#import)
93+
- [Azure Cache for Redis service tiers](cache-overview.md#service-tiers)
94+
- [Import and export data](cache-how-to-import-export-data.md#import)

0 commit comments

Comments
 (0)