使用Redis副本服务读取请求是否有任何问题?更新的数据会立即可用吗?我知道redis复制是异步的,所以我想知道在配置为使用master进行写入和master + replica进行读取的设置中会遇到什么样的问题?
答案 0 :(得分:0)
无法保证数据完全复制到从属节点,但这在当今很多服务中都不是问题。如果您可以使用潜在的陈旧数据,这取决于您的特定用例。
您可以通过在从属配置文件上设置此属性来配置从属设备,使其仅提供最新数据:
slave-serve-stale-data yes
这些文档可能有助于澄清它的详细信息。请注意,redis不会自动回退到更新的节点,而是回复错误,您可以再次尝试或回退到另一个节点:
# When a slave loses its connection with the master, or when the replication
# is still in progress, the slave can act in two different ways:
#
# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will
# still reply to client requests, possibly with out of date data, or the
# data set may just be empty if this is the first synchronization.
#
# 2) if slave-serve-stale-data is set to 'no' the slave will reply with
# an error "SYNC with master in progress" to all the kind of commands
# but to INFO and SLAVEOF.
# slave-serve-stale-data yes
<{3}} 中的