Basic
- Key-value storage
- In memory, single threaded, written in C
- Data types supported
- Strings
- Hashes (Objects)
- Lists
- Sets
- Sorted Sets (Priority Queues)
- Bloom Filters
- Geospatial Indexes
- Time Series
- Can be single node, replicated or in clusters (load balancer to schedule the load to different nodes)
Design Redis
capabilities
- cache
- distribute the hash map across nodes, simplifies scaling process
- TTL is used for eviction, never reads value of key that has expired
- Hot Key Problem
- As distributed lock
- use
INCR
to represent lock