首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >弹性Redis (Redis)中数据分区的正确方法

弹性Redis (Redis)中数据分区的正确方法
EN

Stack Overflow用户
提问于 2017-11-06 07:06:54
回答 1查看 1.1K关注 0票数 1

我们正在使用Elasticache(Redis)来为我们的云平台实现缓存层。它有一个mongodb后端。我们使用Node.js和Java在不同的平台组件中访问这些数据。

下面给出了Node.js示例代码

代码语言:javascript
运行
复制
var redisClient = require('redis').createClient(config.aws.redis.port, config.aws.redis.endpoint, {no_ready_check: true});
var redisKey="urls_"+url;
redisClient.get(redisKey, function (redisErr, reply) {});

在redis缓存中,我们缓存不同类别的数据。假设X,Y,Z。目前我们把它们存储在单一的红节点中。我们使用命名空间前缀来划分数据。

前任,

代码语言:javascript
运行
复制
key ="X_"+url
key ="Y_"+money
key ="Z_"+length

但是我读了这篇文章,它说最好避免名字空间。http://www.mikeperham.com/2015/09/24/storing-data-with-redis/

那么,我们用例的最佳解决方案是什么呢?

每个不同的数据分区都有不同的redis节点,

X型数据将在A中缓存,节点Y型数据将缓存在B中,节点Z型数据将被缓存在C redis节点中

在单个redis节点中使用多个redis dbs?

X型数据将缓存在A节点的第0 DB中,Y型数据将被缓存在A节点的第1 DB中,Z型数据将被缓存在A redis节点的第2 DB中。

EN

回答 1

Stack Overflow用户

发布于 2017-12-14 21:20:36

对于elasticache,通常最好将每组数据存储在自己的集群中。

  • 拥有多个集群的主要缺点是管理开销,但是对于elasticache,大部分是被管理的,从而最小化了这个缺点。
  • 在缩放您的elasticache集群时,它仍然需要移动数据--单个集群中的数据越多,扩展它所需的时间就越长,在进行在线重新缩放时会受到更大的性能影响。
  • 至于成本,通过将数据分割成多个集群,每个集群可以使用较小的实例。最后,它可能要花费大约同样的费用。

当然,总是有例外的,您应该在您独特的上下文中考虑这些问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47131528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档