gpt4 book ai didi

Redis replication和redis sharding(cluster)区别

转载 作者:IT王子 更新时间:2023-10-29 05:54:17 26 4
gpt4 key购买 nike

  1. 有人知道 Redis 复制和 Redis 分片之间的区别吗?
  2. 它们有什么用? Redis 将数据存储在内存中,这对复制/分片有何影响?
  3. 是否可以同时使用它们?

最佳答案

分片几乎是复制的对立面,尽管它们是正交的概念并且可以很好地协同工作。

分片,也称为分区,是按键拆分数据;而复制,也称为镜像,是复制所有数据。

分片有助于提高性能,减少任何一种资源的命中率和内存负载。复制对于获得读取的高可用性很有用。如果从多个副本读取,也会降低所有资源的命中率,但所有资源的内存需求保持不变。应该注意的是,虽然您可以写入从属,但复制只是主->从。所以你不能以这种方式扩展写入。

假设您有以下元组:[1:Apple]、[2:Banana]、[3:Cherry]、[4:Durian] 并且我们有两台机器 A 和 B。使用 Sharding,我们可以存储 key 2 ,4 在机器 A 上;和机器 B 上的 key 1,3。通过复制,我们将 key 1,2,3,4 存储在机器 A 上,将 key 1,2,3,4 存储在机器 B 上。

分片通常是通过对 key 执行一致的哈希来实现的。上面的示例是使用以下哈希函数 h(x){return x%2==0?A:B} 实现的。

为了结合这些概念,我们可能会复制每个分片。在上述情况下,可以将机器A的所有数据(2,4)复制到机器C上,将机器B的所有数据(1,3)复制到机器D上。

任何键值存储(Redis 只是其中一个示例)都支持分片,但某些交叉键功能将不再有效。 Redis 支持开箱即用的复制。

关于Redis replication和redis sharding(cluster)区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2139443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com