TL DR: you want to use Key Cache and most likely DO NOT want a line cache.
The cache cache helps C * know where a particular section begins in SStables. This means that C * does not have to read anything in order to determine a suitable place to search in a file in order to start reading a line. This is useful for almost all use cases, as it speeds up reading, greatly reducing the need for IOPs in the read path.
Row Cache has a much more limited use case. The line cache pulls entire sections into memory. If any part of this section has been modified, the entire cache for this line is invalid. For large partitions, this means that the cache can often be cached and invalidate large chunks of memory. Since you really need mostly static partitions for this to be useful, it is recommended that you not use Row Cache for most use cases.
source share