Redis
/ˈrɛd.ɪs/ · Noun · Development · Origin: 2009
Definitions
Redis, short for Remote Dictionary Server, is an open-source, in-memory data structure store used as a database, cache, message broker, and streaming engine. It stores data in memory rather than on disk, which enables sub-millisecond read and write latency, making it one of the fastest data stores available. Redis supports a rich set of data structures beyond simple key-value pairs, including strings, hashes, lists, sets, sorted sets, bitmaps, HyperLogLogs, streams, and geospatial indexes. Common use cases include session caching, real-time leaderboards, rate limiting, pub/sub messaging, job queues, and caching database query results. Redis can persist data to disk using snapshots (RDB) or an append-only file (AOF) for durability. Redis Cluster provides horizontal scaling and automatic partitioning across multiple nodes. Redis Sentinel handles high availability through automatic failover. Originally single-threaded by design (using I/O multiplexing for concurrency), recent versions added multi-threaded I/O for network operations to improve throughput on modern hardware.
In plain English: An extremely fast storage system that keeps data in memory (RAM) instead of on disk, commonly used to speed up applications by caching frequently accessed data.
Etymology
- 2009
- Salvatore Sanfilippo creates Redis (Remote Dictionary Server) in Sicily, Italy, to solve real-time analytics scaling at his startup
- 2015
- Redis adds Lua scripting, pub/sub, and data structures, evolving from a cache into a multi-model database
- 2024
- Redis Ltd changes the license from BSD to dual SSPL/RSAL, triggering the Valkey fork by Linux Foundation contributors