Caches seem to be much easier to handle using the actor model for handling concurrency.
Actors can have their own cache, and since they queue messages and handle them in order, one at a time, the cache will never be out of sync.
It does come at several other costs though.