The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.
DB, 캐시, 스트리밍 엔진, 메세지 브로커 등으로 개발자들이 사용하는 인메모리 데이터 저장소
Core capabilities
•
In-memory data structures
Well-known as a "data structure server", with support for strings, hashes, lists, sets, sorted sets, streams, and more.
•
인메모리 데이터 구조
스트링, 해시, 리스트, set, sorted set, stream 등의 자료 구조를 지원하는 data structure server
•
Programmability
Server-side scripting with Lua and server-side stored procedures with Redis Functions.
Lua로 만들어진 서버사이드 스크립팅과 레디스 기능으로 만들어진 서버사이드 저장 프로시져
•
Extensibility
A module API for building custom extensions to Redis in C, C++, and Rust.
•
Persistence
Keeps the dataset in memory for fast access, but can also persist all writes to permanent storage to survive reboots and system failures.
•
Clustering
Horizontal scalability with hash-based sharding, scaling to millions of nodes with automatic re-partitioning when growing the cluster.
•
High availability
Replication with automatic failover for both standalone and clustered deployments.
Use cases
•
Real-time data store
Redis' versatile in-memory data structures enable building data infrastructure for real-time applications that require low latency and high-throughput.
•
Caching & session storage
Redis' speed makes it ideal for caching database queries, complex computations, API calls, and session state.
•
Streaming & messaging
The stream data type enables high-rate data ingestion, messaging, event sourcing, and notifications.
Redis is an open source (BSD licensed), in-memory data structure store used as a database, cache, message broker, and streaming engine. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
You can run atomic operations on these types, like appending to a string; incrementing the value in a hash; pushing an element to a list; computing set intersection, union and difference; or getting the member with highest ranking in a sorted set.
To achieve top performance, Redis works with an in-memory dataset. Depending on your use case, Redis can persist your data either by periodically dumping the dataset to disk or by appending each command to a disk-based log. You can also disable persistence if you just need a feature-rich, networked, in-memory cache.
Redis supports asynchronous replication, with fast non-blocking synchronization and auto-reconnection with partial resynchronization on net split.
Redis is written in ANSI C
and works on most POSIX systems like Linux, *BSD, and Mac OS X, without external dependencies. Linux and OS X are the two operating systems where Redis is developed and tested the most, and we recommend using Linux for deployment
. Redis may work in Solaris-derived systems like SmartOS, but support is best effort
. There is no official support for Windows builds.