使用Redis副本服务读取请求时可能出现的问题。

时间:2015-03-26 00:18:37

标签: redis

使用Redis副本服务读取请求是否有任何问题?更新的数据会立即可用吗?我知道redis复制是异步的,所以我想知道在配置为使用master进行写入和master + replica进行读取的设置中会遇到什么样的问题?

1 个答案:

答案 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}}

中的