If you look at something like https://redis.io/commands#list, you will see that types that Redis stores and supports are fully mutable, atomically, within the data store's memory.

This does not make alot of sense given that Redis exists as primarily a cache to accelerate applications who have a database separate from Redis and only use Redis as a place to read values back from.

What am I missing here? Why have mutability on values directly on Redis when that does not fit a caching model?

1 Answer 1


Redis is a Key-Value (KV) store, and KV stores generally are well suited for cache however provide additional functionality.

KV stores can provide synchronisation between a variety of stateless front ends which is what this commands provide.

  • So in this context, strictly speaking, where these commands are being used, Redis is acting not like a cache but like a database, right? I can see a whole bunch of masters all connected up to stateless front ends, and any of these masters can mutate a value and these changes get to the other masters. It is a confusing message since I look at a cache simply as a place to store already-calculated values. These functions require Redis to calculate the new value. Feb 10, 2019 at 22:04
  • 1
    Yes, it sounds like its acting more as a db than a cache. If you're confused, stop looking at is as a cache.
    – danblack
    Feb 10, 2019 at 22:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.