Redis
AttentionThis page documents an earlier version. Go to the latest (v2.1)version.
Following are the key areas of differences between YugabyteDB and Redis.
1. Persistent DB vs. In-Memory Cache
YugabyteDB’s Redis is a persistent database rather than an in-memory cache. [While Redis has acheck-pointing feature for persistence, it is a highly inefficient operation that does a processfork. It is also not an incremental operation; the entire memory state is written to disk causingserious overall performance impact.]
2. Auto Sharded and Clustered
YugabyteDB’s Redis is an auto sharded, clustered with built-in support for strongly consistentreplication and multi-DC deployment flexibility. Operations such as add node, remove node aresimple, throttled and intent-based and leverage Yugabyte’s core engine (YBase) and associatedarchitectural benefits.
3. No Explicit Memory Management
Unlike the normal Redis, the entire data set does not need to fit in memory. In Yugabyte, the hotdata lives in RAM, and colder data is automatically tiered to storage and on-demand paged in atblock granularity from storage much like traditional database.
4. Consistent and Transparent Caching
Applications that use Redis only as a cache and use a separate backing database as the main systemof record, and need to deal with dev pain points around keeping the cache and DB consistent andoperational pain points at two levels of infrastructure (sharding, load-balancing, geo-redundancy)etc. can leverage YugabyteDB’s Redis as a unified cache + database offering.
Scan resistant block cache design ensures long scan (e.g., of older data) do not impact reads forrecent data.