A technique for synchronizing data caches. Data is maintained in the data caches as records. The records are associated with buckets which represent collections of one or more records. The buckets are collectively maintained in a synchronization set which represents a state of a data cache. A local entity synchronizes its data cache with a remote entity by sending its synchronization set to the remote entity in a synchronization request message. The remote entity compares information contained in the local entity's synchronization set with its own to determine if the two are consistent. If not, the remote entity notes inconsistencies in a response message that is then forwarded to the local entity. The local entity processes the response message including using it to update its data cache to be consistent with the remote entity's data cache.