有什么选择迁移到更大的Azure Redis缓存实例

时间:2014-12-16 02:32:49

标签: azure-redis-cache

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

我似乎找不到任何方式来迁移不断变化的服务层。事实上,当我去那个页面时,它特别说“计划不能改变”。

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

4 个答案:

答案 0 :(得分:2)

根据this talk(大约26米标记),这类功能计划在明年推出。

无耻插件:AFAIK是唯一 Redis即服务提供商,可以实时更改您的计划,而不会丢失您的数据或让您的服务中断,是Redis Cloud Redis实验室(也可在Azure上获得)。

答案 1 :(得分:2)

您还可以查看Sharding Redis实例。我遇到了类似的问题,我在Cache中的数据意外地开始出现,我使用了Sharding的概念来解决这个问题。每次数据大小超过Redis实例中的某个阈值时,都会创建一个新的Redis实例,并在新实例之间共享数据。 问题是重新分配密钥并在搜索密钥时检测正确的Redis实例。有各种算法来解决这样的问题。我曾使用Consistent Hashing的概念来解决它。

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

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

答案 2 :(得分:1)

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

即将升级或缩小现有缓存的功能即将推出。启用后,为了扩大规模,不会出现数据丢失和非常短暂的可用性损失。对于按比例缩小,如果缓存数据对于新大小而言太大,则可能会丢失数据。

答案 3 :(得分:1)

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