问题描述
原来部署在VM 里的 Redis 能直接迁移到 Azure Cache for Redis? 需要改动代码吗?
问题解答
以上问题需要从两个方面来解答。
第一:VM中Redis的数据转移到 Azure Redis?
可以通过多种方式从一个缓存数据转移到另一个缓存。
- 通过 RDB 文件导出和导入数据:在Azure Redis上需要高级版才支持导入数据。
- 以编程方式迁移数据:需要自定义代码。https://docs.microsoft.com/zh-cn/azure/azure-cache-for-redis/cache-migration-guide#migrate-programmatically
第二:如果不在意已有的数据,只是Redis客户端连接方式改动?是否需要改动代码呢?
对于之前连接到VM Redis的应用代码,需要从三个方面来对比: Host Name, Port 和 Key
1) Host Name: VM 中自建的Redis,可以使用IP Address来连接,但Azure Redis为PaaS服务,所以IP地址不固定,需要使用Azure Redis的默认域名进行连接。
2) Port:端口根据需要 SSL 或 非SSL,使用6380或这6379端口。
3) Key:本地可以不使用Key,但是Azure Redis则必须使用Key连接。
同时,微软提供了各种语言的示例代码:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-web-app-howto