For random read
Most of cases, if it is in cache. it return the result. if not. It takes one read from disk based on meta data (key and meta data always in cache).
For random write
it support two mode, sync and async. For sync it waits until write successful and return, for async case, system put into queue and return to client right away.
One of thing, you need to be aware is that during the bootstrap time, It load key and meta data (on disk around 27 bytes per record, on memory around 60 bytes). It can support up to 60M record for 32 GB node in our production node). I will not suggest more than that. It might run out memory,if you load several million records based on you memory foot print. So it fits well for low latency use case. but you need more hardware.
CacheStore cluster node is active/active, not master/slave. you could shutdown the replicate node any time. The client will automatically failover, as long as at least one replicate node is up.
Replication in CacheStore is async, fault torrence and reliable. After it write to main store, it will write to journal log first, then it send to replicate port of other cluster nodes. If the destination is down, it will resume replication as soon as the cluster node is up.
It support always consistency, either it successes or fails. Every write carry the global version # for each key. for concurrent writ, only one will success, the rest will get exception.