Oh but redis is much more than that.<p>It's so simple any little script can interact with it in seconds, instead of having to craft complex SQL or import your wrapper. You can call redis from the weirdest places, like from the inside of an nginx config file. You needn't even a compiled driver if that matters.<p>It's easier to get it to perform. It's possible to get great perfs with PostgreSQL, but you just got them for free with redis. Very hard to screw up. Read, write ? N+1 ? Batching ? Who cares, it will be fast no matter the concurrency or the load.<p>Sure you can expire with Postgres, but having done so in practice, it's way harder than it looks to get right. With redis, you don't have to care. Set a cache, set a lock with a timeout, store data your are not sure you need. It will all disapear.<p>Redis is not just key/value. You have sets, so ensuring unicity is a piece of cake, no constraints to define, then insertion to check against. And of course, you have sorted sets, which you are kept ordered at insertion by any number you pair the value with, such as a timestamp/score/index, and truncate by range for extra magic.<p>And then you have bonuses like hyperloglog which you need an extension for in Posgres. Super handy for stats.<p>Finally, you have streams, which for most apps will fill the gap for a timeserie database or a way to store your app logs. All that with a 2ms latency at 10k/s requests. None of my projects ever needed more than 1K/s though, even one with 1M users/month.<p>You have all of that with a dead simple install and basically no maintenance.<p>In fact, redis by itself consume almost no resource, it's not even worth it to not have it in your toolset. I just install it by default on all my projects: I never regretted it, there is always something it can do for you. It not now, just wait a bit, it's costing you nothing, and something will come up.<p>So no, let use Postgres for what it's great at, which is being a robust all purpose database. Redis is a fantastic complement to it, not a competitor, just use both.<p>Unless you are google size, there are little chances you will reach a stage where you need to migrate from any of them.<p>It's part of those tech that are just too good to be true, like SQLite or Python.<p>My only regret is that it doesn't exist on windows.<p>P.S: if you need caching and can't afford redis on a small python script, use Disk Cache, it's awesome: <a href="http://www.grantjenks.com/docs/diskcache/index.html" rel="nofollow">http://www.grantjenks.com/docs/diskcache/index.html</a>