You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-cache-for-redis/cache-moving-resources.md
+21-18Lines changed: 21 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,19 +12,19 @@ ms.date: 8/27/2021
12
12
13
13
# Move Azure Cache for Redis instances to different regions
14
14
15
-
In this article, you'll learn how to move Azure Cache for Redis instances to a different Azure region. You might move your resources to another region for a number of reasons:
15
+
In this article, you learn how to move Azure Cache for Redis instances to a different Azure region. You might move your resources to another region for a number of reasons:
16
16
- To take advantage of a new Azure region.
17
17
- To deploy features or services available in specific regions only.
18
18
- To meet internal policy and governance requirements.
19
-
-In response to capacity planning requirements.
19
+
-To respond to capacity planning requirements.
20
20
21
-
Depending on which tier of Azure Cache for Redis you use will determine which option is best for you.
21
+
The tier of Azure Cache for Redis you use determines the option that's best for you.
22
22
23
23
| Cache Tier | Options |
24
24
| ------------ | ------- |
25
25
| Premium | Geo-replication, create a new cache, dual-write to two caches, or export and import data via RDB file|
26
26
| Basic or Standard | Create a new cache or dual-write to two caches|
27
-
| Enterprise or Enterprise Flash | Create a new cache or export and import data via RDB file |
27
+
| Enterprise or Enterprise Flash | Create a new cache or export and import data with an RDB file |
28
28
29
29
## Geo-replication (Premium)
30
30
@@ -35,11 +35,11 @@ To configure geo-replication between two caches, the following prerequisites mus
35
35
- Both caches are [Premium tier](cache-overview.md#service-tiers) caches.
36
36
- Both caches are in the same Azure subscription.
37
37
- The secondary linked cache is either the same cache size or a larger cache size than the primary linked cache.
38
-
- Both caches are created and in a running state.
38
+
- Both caches already exist and are running.
39
39
40
40
### Prepare
41
41
42
-
To move your cache instance to another region, you'll need to [create a second premium cache instance](quickstart-create-redis.md) in the desired region. Once both caches are in a running state, you can set up geo-replication between the two cache instances.
42
+
To move your cache instance to another region, you need to [create a second premium cache instance](quickstart-create-redis.md) in the desired region. Once both caches are running, you can set up geo-replication between the two cache instances.
43
43
44
44
> [!NOTE]
45
45
> Data transfer between Azure regions is charged at standard [bandwidth rates](https://azure.microsoft.com/pricing/details/bandwidth/).
@@ -48,14 +48,17 @@ Some features aren't supported with geo-replication:
48
48
49
49
- Zone Redundancy isn't supported with geo-replication.
50
50
- Persistence isn't supported with geo-replication.
51
+
52
+
Conditions for geo-replications support:
53
+
51
54
- Clustering is supported if both caches have clustering enabled and have the same number of shards.
52
-
- Caches in the same Virtual Network (VNet) are supported.
53
55
- Caches in different VNets are supported with caveats. See [Can I use geo-replication with my caches in a VNet?](cache-how-to-geo-replication.md#can-i-use-geo-replication-with-my-caches-in-a-vnet) for more information.
54
56
55
57
After geo-replication is configured, the following restrictions apply to your linked cache pair:
56
58
57
59
- The secondary linked cache is read-only. You can read from it, but you can't write any data to it.
58
-
- If you choose to read from the Geo-Secondary instance, note that whenever a full data sync is happening between the Geo-Primary and the Geo-Secondary (happens when either Geo-Primary or Geo-Secondary is updated and on some reboot scenarios as well), the Geo-Secondary instance throws errors (stating that a full data sync is in progress) on any Redis operation against it until the full data sync between Geo-Primary and Geo-Secondary is complete.
60
+
- If you choose to read from the Geo-Secondary instance, whenever a full data sync is happening between the Geo-Primary and the Geo-Secondary, such as when either Geo-Primary or Geo-Secondary is updated and on some reboot scenarios as well,
61
+
the Geo-Secondary instance throws errors on any Redis operation against it until the full data sync between Geo-Primary and Geo-Secondary is complete.
59
62
- Applications reading from Geo-Secondary should be built to fall back to the Geo-Primary whenever the Geo-Secondary is throwing such errors.
60
63
- Any data that was in the secondary linked cache before the link was added is removed. If the geo-replication is later removed however, the replicated data remains in the secondary linked cache.
61
64
- You can't [scale](cache-how-to-scale.md) either cache while the caches are linked.
@@ -103,7 +106,7 @@ After geo-replication is configured, the following restrictions apply to your li
103
106
104
107
### Clean up source resources
105
108
106
-
Once your new cache in the targeted region is populated with all necessary data, you can remove the link between the two caches and delete the original instance.
109
+
Once your new cache in the targeted region is populated with all necessary data, remove the link between the two caches and delete the original instance.
107
110
108
111
1. To remove the link between two caches and stop geo-replication, click **Unlink caches** from the **Geo-replication** on the left.
109
112
@@ -124,7 +127,7 @@ Once your new cache in the targeted region is populated with all necessary data,
124
127
- Azure subscription - [create one for free](https://azure.microsoft.com/free/)
125
128
126
129
### Prepare
127
-
If losing data isn't a concern, the easiest way to move regions is to create a new cache instance in the targeted region 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.
130
+
If you don't need to maintain your data during the move, the easiest way to move regions is to create a new cache instance in the targeted region 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.
128
131
129
132
### Move
130
133
@@ -133,20 +136,20 @@ If losing data isn't a concern, the easiest way to move regions is to create a n
133
136
Finally, update your application to use the new instances.
134
137
135
138
### Clean up source resources
136
-
Once your new cache in the targeted region is running, you can delete the original instance.
139
+
Once your new cache in the targeted region is running, delete the original instance.
137
140
138
141
139
-
## Export and import data via RDB file (Premium, Enterprise, Enterprise Flash)
140
-
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 and Enterprise](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.
142
+
## Export and import data with an RDB file (Premium, Enterprise, Enterprise Flash)
143
+
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 and Enterprise](cache-overview.md#service-tiers) supports importing data into a cache instance with RDB files. You can use an RDB file to transfer data from an existing cache to Azure Cache for Redis.
141
144
142
145
> [!IMPORTANT]
143
-
> 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 of your new cache instance.
146
+
> RDB file format can change between Redis versions and might not maintain backward-compatibility. The Redis version of the cache you're exporting from should be the same or lower than the version of your new cache instance.
144
147
>
145
148
146
149
### Prerequisites
147
150
- Both caches are [Premium tier or Enterprise tier](cache-overview.md#service-tiers) caches.
148
151
- The second cache is either the same cache size or a larger cache size than the original cache.
149
-
- The Redis version of the cache you're exporting from should be equal or less than the version of your new cache instance.
152
+
- The Redis version of the cache you're exporting from should be the same or lower than the version of your new cache instance.
150
153
151
154
### Prepare
152
155
To move your cache instance to another region, you'll need to create [a second premium cache instance](quickstart-create-redis.md) or [a second enterprise cache instance](quickstart-create-redis-enterprise.md) in the desired region.
@@ -160,10 +163,10 @@ To move your cache instance to another region, you'll need to create [a second p
160
163
You can monitor the progress of the import operation by following the notifications from the Azure portal, or by viewing the events in the [audit log](../azure-monitor/essentials/activity-log.md).
161
164
162
165
### Clean up source resources
163
-
Once your new cache in the targeted region is running, you can delete the original instance.
166
+
Once your new cache in the targeted region is running, delete the original instance.
164
167
165
168
## Dual-write to two caches (Basic, Standard, and Premium)
166
-
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.
169
+
Rather than moving data directly between caches, you can use your application to write data to both an existing cache and a new one you're setting up. The application initially reads 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.
167
170
168
171
### Prerequisites
169
172
- The second cache is either the same cache size or a larger cache size than the original cache.
@@ -181,7 +184,7 @@ General steps to implement this option are:
181
184
3. Update the application code to reading and writing from the new instance only.
182
185
183
186
### Clean up source resources
184
-
Once your new cache in the targeted region is running, you can delete the original instance.
187
+
Once your new cache in the targeted region is running, delete the original instance.
0 commit comments