At the Cassandra 2013 conference, Axel Liljencrantz from Spotify discussed various cassandra gotchas in his talk on "How Not to Use Cassandra." One of the sections of his talk was on the row cache. If you weren't at the talk, or don't remember it, the video is up on youtube [1]. The discussion on the row cache starts at about 5:35.
The takeaway from his row cache bit is that the row cache stores the full row: Cache misses on a single column get silently turn into a full row read in order to cache the full row All writes invalidate the entire row (updates thrown out the cached row) I'm mostly interested in his second point. Is he saying that a single column mutation on a row which happens to be in the row cache results in the row cache completely discarding the row and waiting for another read of the row in order to bring it back in? I must have misunderstood what he said because there is no way the row cache would be effective at all if that is how it worked. Most likely, it is smart and updates both the cache and real storage, or sets a dirty bit and writes through on eviction or some other sane eviction policy. I have yet to go through the source code for the row cache. I do plan to do that. Can someone point me to documentation on the row cache internals? All I've found online so far is small discussion about it and how to enable it. Thank you, Faraaz [1] http://www.youtube.com/watch?v=0u-EKJBPrj8