当前位置: 首页 > 面试题库 >

Redis复制和Redis分片(集群)的区别

空英逸
2023-03-14
问题内容
  1. 有人知道Redis复制和Redis分片之间的区别吗?
  2. 它们有什么用?Redis将数据存储在内存中,这如何影响复制/分片?
  3. 可以同时使用它们吗?

问题答案:

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

分片,也称为分区,是通过密钥对数据进行拆分。复制(也称为镜像)是复制所有数据。

分片有助于提高性能,减少任何一种资源的命中和内存负载。复制对于获得高可用性的读取很有用。如果您从多个副本中读取数据,则还将降低所有资源的命中率,但是所有资源的内存需求均保持不变。应该注意的是,虽然可以写入从属设备,但是复制仅是master->
slave。因此,您无法以这种方式扩展写入。

假设您具有以下元组:[1:Apple],[2:Banana],[3:Cherry],[4:Durian],我们有两台机器A和B。通过分片,我们可以将密钥2,4存储在机器A;
通过复制,我们将密钥1,2,3,4存储在计算机A上,将1,2,3,4存储在计算机B上。

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

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

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



 类似资料:
  • Redis 集群(Redis Cluster) 是 Redis 提供的分布式数据库方案。 既然是分布式,自然具备分布式系统的基本特性:可扩展、高可用、一致性。 Redis 集群通过划分 hash 槽来分片,进行数据分享。 Redis 集群采用主从模型,提供复制和故障转移功能,来保证 Redis 集群的高可用。 根据 CAP 理论,Consistency、Availability、Partition

  • 我有一个应用程序使用 Spring Boot 2.2.6.release(spring-boot-starter-data-redis) Jedis 3.1.0. 我的用例:我有一个繁忙的流量处理应用程序,我写数据到Redis,并期望通过索引字段读取实体列表。这些数据只在一段时间内相关,因此我正在利用Redis的过期功能。 一切似乎都在工作,直到我注意到Redis中的数据并没有像预期的那样过期。当

  • 为 Redis 自带的主从复制提供主从切换方案。 2. TwenProxy 3. Redis Cluster 4. Codies 参考资料 Redis 集群方案

  • 我知道redis sentinel是在多个redis实例之间配置HA(高可用性)的一种方式。正如我所看到的,在任何给定的时间,都有一个redis实例主动地为客户机请求服务。另外还有两个服务器处于待机状态(等待发生故障,因此其中一个可以再次运行)。 是资源浪费吗? 是否有更好的方法充分利用现有资源? Redis集群是Redis Sentinel的替代方案吗? 我已经查了redis的sentinel和

  • 本文向大家介绍Redis集群策略相关面试题,主要包含被问及Redis集群策略时的应答技巧和注意事项,需要的朋友参考一下 redis包含三种集群策略 主从复制 哨兵 集群