summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2015-02-04 12:21:54 +0100
committerantirez <antirez@gmail.com>2015-02-13 08:57:15 +0100
commitc1d10e8bb7c61d9c6f057aae0846722529dedb73 (patch)
tree4e747a76974ab1630b8fe9fa3fd6f2cb22e7043f
parentede98af9dac41e86e30f5d12ab42b79066c4496d (diff)
downloadredis-nosync.tar.gz
No-sync: some info in the example redis.conf comments.nosync
-rw-r--r--redis.conf32
1 files changed, 32 insertions, 0 deletions
diff --git a/redis.conf b/redis.conf
index 9e15769a9..da7761d3d 100644
--- a/redis.conf
+++ b/redis.conf
@@ -300,6 +300,38 @@ repl-diskless-sync-delay 5
#
# repl-ping-slave-period 10
+# WARNING: This feature is experimental, just an evaluation draft.
+#
+# No-sync replication is a special, inconistent, mode of operation for slaves
+# that is sometimes useful in caching scenarios.
+#
+# In this setup slaves, when connecting to masters, don't ask for the pre
+# existing state of the key space, so no synchronization with the current
+# master data is performed at all. However the slaves will get all the new
+# stream of writes receiving the master, starting from the moment the slave
+# connects.
+#
+# This means that:
+# 1) There is no consistency between master and slaves operating in this mode.
+# 2) It is possible that keys with an expire in the master will never expire
+# in the slave (because the slave may miss the EXPIRE command).
+# 3) Keys updated with non-idempotent commands may end with different values.
+#
+# However if your workload is about idempotent updates (for example using
+# just the SET command), and no-sync slaves are configured in order to evict
+# data on their own using maxmemory and a suitable policy, there are certain
+# advantages:
+#
+# 1) Slaves are always available (assuming they are configured to serve stale
+# data), since reconnecting with the master has no cost.
+# 2) Masters don't have to persist on disk and/or stream an RDB file to the
+# slaves, slaves are just accepted ASAP and put online.
+#
+# To enable, simply set repl-no-sync to yes. By default this feature is
+# disabled.
+#
+# repl-no-sync no
+
# The following option sets the replication timeout for:
#
# 1) Bulk transfer I/O during SYNC, from the point of view of slave.