sanity
sanity

Reputation: 35782

What in-client caching options work well with Cassandra and Java?

I'm currently architecting a system that must be capable of dealing with tens of thousands of writes per second. I am more-or-less settled on using Apache Cassandra for the persistence layer, and will be using Java for the application layer, but there are situations where I need to quickly access data in a way that picks up any changes within seconds.

Hitting Cassandra every single time I need to check this data for changes will be too slow, which means I need to use some kind of application layer caching.

To ensure that the cached data remains current, ideally it would support some kind of multicast-based cache invalidation.

What are my options?

Upvotes: 6

Views: 1249

Answers (2)

Schildmeijer
Schildmeijer

Reputation: 20946

I would start by investigating if the cassandra key (avoid index scan) and/or row cache (avoid sstable lookup) is sufficient enough.

detailed information: http://wiki.apache.org/cassandra/API

Upvotes: 1

Peter Tillemans
Peter Tillemans

Reputation: 35341

I have used ehcache and it worked really nice. Nicely configurable outside the app and it supports multicast invalidation (and disk based persistence which I needed more than the invalidation).

Upvotes: 0

Related Questions