3

我正在做这个需要高吞吐量 Redis 缓存的项目。由于运行 Redis 缓存有点昂贵(这是一个爱好项目),我从 1GB 节点开始。但是,如果这解决了我如何更改为缓存的大型实例而不会出现重大中断来创建新实例、更新连接字符串等?

我似乎找不到任何迁移更改服务级别的方法。实际上,当我转到该页面时,它明确表示“计划无法更改”。

一旦我的初始缓存实例大小超出了我的范围,我还有其他选择吗?这是非常“阴天”的行为,不是吗?我可以随时根据需要调整所有其他 Azure 资源的大小。

4

4 回答 4

2

根据这个谈话(大约 26m 标记),这种类型的功能计划在明年推出。

无耻插件:AFAIK是 Redis Labs 的Redis Cloud(也可在 Azure 上使用) ,是唯一允许实时更改计划而不丢失数据或服务中断的 Redis 即服务提供商。

于 2014-12-16T13:41:55.820 回答
2

您还可以查看 Sharding Redis Instances。我曾经遇到过类似的问题,我的缓存中的数据开始出乎意料地开花,我使用了分片的概念来解决这个问题。每当 Redis 实例中的数据大小超过某个阈值时,就会创建一个新的 Redis 实例,并在新实例之间共享数据。问题是重新分配密钥并在搜索密钥时检测正确的 Redis 实例。有各种算法可以解决这样的问题。我曾使用一致散列的概念来解决它。

由于您不会从 Azure Redis Cache for Sharding 获得任何开箱即用的支持,因此您可能必须在客户端或代理上编写分片逻辑。

您可能想看看 Craiglist 中的实现 - http://blog.zawodny.com/2011/02/26/redis-sharding-at-craigslist/ 看看 Twenproxy,您可能会获得更多上下文 - http://antirez.com/news/44

于 2015-04-16T21:28:18.680 回答
1

现在,您需要创建一个新的缓存并更新应用程序中的连接字符串。

扩展现有缓存的功能即将推出。一旦启用,纵向扩展将不会丢失数据,并且会出现非常短暂的可用性损失。对于缩减,如果缓存的数据对于新大小来说太大,则可能会丢失数据。

于 2014-12-16T19:36:54.950 回答
1

只是一个更新。此功能现在在 Azure Redis 缓存(高级层)中可用。看看这个 msdn链接

于 2016-04-15T12:32:13.083 回答