Redis复制和分片

什么是数据库复制?

复制(Replication),也通常被称为镜像,只是简单地将所有数据复制到另一个位置。它允许可以从两个或两个以上的位置中获取数据,从而确保高可用性。由于某种原因,它对主要数据位置的降低很有帮助,仍然可以从一个副本中读取数据。

在Redis中,一旦你至少有一个slave的安装,你可以设置复制(Redis,使用主/从设置复制)。从配置文件中,你可以使用slaveof命令,如以下示例。

Redis复制和分片

如果你设置一个主密码,您还需要在masterauth中进行设置。一旦这样做,你就可以在slave上启用复制来启动(或重启)Redis服务。

什么是数据库分片?

分片(Sharding),也通常被称为分区,包括基于**拆分数据。这样可以提高性能,因为它减少了每个个体的资源,让它们分开进行负担而不是在一个地方。

例如,您可以使用一个哈希函数把它们变成Redis**。然后,如果你想要两个碎片,你可以发送所有偶数编号的**到一个实例中,而把所有奇数的**放在第二个实例中。这可能是使用其他算法进行不同数量的碎片。

Redis分片可以从几个方面来实现:

客户端分区:客户选择合适的Redis实例去读或写一个特定的**。

Proxy-assisted分区:一个代理是用来处理请求并将请求发送到适当的Redis实例中。

路由查询:查询发送到一个随机的实例中去,然后需要负责将客户端重新定向到适当的Redis实例中。

复制和分片一起使用

如果你想要高可用性,同时能提高性能,那么可以让复制和分片一起使用。采用分片,基于**你将有两个或两个以上的实例带有特定的数据。你可以复制这些实例生成一个复制和分片的数据库,那么,它们将同时提供可靠性和速度!

Redis复制和分片

无论你使用Redis还是侧重于切分,Morpheus可以使你工作变得更加容易。请点击这里查看。


原文:Redis Replication vs Sharding