1. An apparatus located in a first region of a system, the apparatus comprising: a memory configured to store database updates performed on a first database cluster in the first region, wherein each database update corresponds to a key, and a first invalidation associated with the key is appended to the update; and a processor configured to: in a event that a replica database in a second region remote from the first region has failed and cannot respond to database updates, publish a first subset of the first invalidations to a subscriber in the second region, wherein the first subset of the first invalidations are associated with keys having values stored in the replica database, wherein the subscriber is configured to send the first subset of the first invalidations to caches in the second region to cause values stored in the caches for the keys to be deleted; wherein, in an event that at least one cache of the caches does not have a value for a requested key stored in the at least one cache, the at least one cache is configured to generate to a token associated with the requested key and to send the token to a web server requesting the value, wherein the value for the requested key is set in the at least one cache upon receiving, at the at least one cache, the token from the web server; wherein after the web server retrieves the value for the requested key from the read-only data cluster and sends the value and the token to the at least one cache for setting the value in the cache, the cache is configured to discard the value if the token has been extinguished, wherein the token is extinguished when a new value for the requested key has been set in the cache by another web server after the token has been generated and before the token is sent back to the cache by the web server.