We’re considering moving to a new architecture with one master Redis database and 10 read-only slaves. Only the slaves serve requests to the public.
The master gets updated every couple of days and all keys are deleted and brand new ones are added. There are no “updates”. (It’s a weird app)
Because of this, I’m concerned about what will happen during the SYNC process. It’s unclear from the Redis documentation whether:
A (good):
The slave continues to serve requests from the old data set until the SYNC finishes then it switches to serving from the fully synced data set.
B (bad):
The slave serves requests as best it can from partially updated data sets. In our case, this would result in serving corrupted results until SYNC finishes.
From redis documentation
From my interpretation, it’s the A that is gonna happens.