I’m not familiar with redis but basically caffeine is a bounded ConcurrentMap. If you want something beyond a key-value mapping then you’ll need to build that on top.
A lot of redis functionality comes by using a single lock for all read writes, so it can do more complex data models but slower, relying on sharding for performance and that network hops are a bottleneck that hides its own cost. As a concurrent in process cache, we don’t have the same flexibility and users expect higher performance.
I’m not familiar with redis but basically caffeine is a bounded ConcurrentMap. If you want something beyond a key-value mapping then you’ll need to build that on top.
A lot of redis functionality comes by using a single lock for all read writes, so it can do more complex data models but slower, relying on sharding for performance and that network hops are a bottleneck that hides its own cost. As a concurrent in process cache, we don’t have the same flexibility and users expect higher performance.