Redis DB主从机设置

Redis DB主从机设置,redis,master,slave,Redis,Master,Slave,我已经为我的nodeJS应用程序安装了Redis,并将其配置为运行在不同服务器上的另一个Redis DB实例的从机。我可以让相同的Redis实例(不同的DB)(作为从机运行)作为本地安装的应用程序的主服务器吗 提前谢谢是的,你可以,但要有一个大大的警告 任何从属实例都可以是一个或多个其他实例的主实例。因此,您可以想象菊花链从机并构建分层复制系统 现在,我的理解是,您不需要从机为另一个Redis实例提供数据,只需要允许应用程序在从机实例的另一个数据库中执行读/写操作即可 要允许,您需要在从属配置中

我已经为我的nodeJS应用程序安装了Redis,并将其配置为运行在不同服务器上的另一个Redis DB实例的从机。我可以让相同的Redis实例(不同的DB)(作为从机运行)作为本地安装的应用程序的主服务器吗


提前谢谢

是的,你可以,但要有一个大大的警告

任何从属实例都可以是一个或多个其他实例的主实例。因此,您可以想象菊花链从机并构建分层复制系统

现在,我的理解是,您不需要从机为另一个Redis实例提供数据,只需要允许应用程序在从机实例的另一个数据库中执行读/写操作即可

要允许,您需要在从属配置中将从属只读参数的值设置为“否”:

# You can configure a slave instance to accept writes or not. Writing against
# a slave instance may be useful to store some ephemeral data (because data
# written on a slave will be easily deleted after resync with the master) but
# may also cause problems if clients are writing to it because of a
# misconfiguration.
#
# Since Redis 2.6 by default slaves are read-only.
#
# Note: read only slaves are not designed to be exposed to untrusted clients
# on the internet. It's just a protection layer against misuse of the instance.
# Still a read only slave exports by default all the administrative commands
# such as CONFIG, DEBUG, and so forth. To a limited extend you can improve
# security of read only slaves using 'rename-command' to shadow all the
# administrative / dangerous commands.
slave-read-only no
现在,您将在此实例上运行的所有写操作都将是短暂的。如果主设备和从设备之间的链路丢失,则从设备将再次与主设备完全同步。从上设置的所有数据都将丢失。如果停止并重新启动从机,也会丢失所有短暂的数据

它可能适合也可能不适合你的需要

无法在数据库级别对同步(或持久性选项)进行参数化。您不能告诉Redis同步给定的数据库,而不是另一个数据库。配置始终适用于实例级别