Generated by GPT-5-mini| Redis | |
|---|---|
| Name | Redis |
| Developer | Salvatore Sanfilippo, Redis Labs |
| Initial release | 2009 |
| License | BSD-3-Clause |
| Website | redis.io |
Redis is an open-source, in-memory data structure store used as a database, cache, and message broker. It was created by Salvatore Sanfilippo and later developed by Redis Labs and a broad ecosystem of contributors, becoming widely adopted across technology companies, cloud providers, and platform vendors. Redis emphasizes low-latency operations, rich native data structures, and simple replication models suited to real-time systems.
Redis originated in 2009 and rapidly gained traction among developers at companies such as GitHub, Twitter, Flickr, Stack Overflow, and Pinterest for session storage, caching, and leaderboards. The project evolved alongside cloud offerings from Amazon Web Services, Google Cloud Platform, Microsoft Azure, and vendor distributions like Red Hat and VMware. Major ecosystem projects and standards—such as drivers for Python (programming language), Java (programming language), Node.js, Ruby (programming language), and Go (programming language)—enabled integration with frameworks including Django, Spring Framework, Express (framework), and Ruby on Rails. Redis' community and corporate contributors have driven features that target high-throughput web platforms, mobile backends, and distributed analytics used by organizations like Netflix and Uber.
The system uses a single-threaded event loop implemented in C, leveraging non-blocking I/O models similar to architectures employed by nginx and libevent. It exposes a TCP-based protocol and optional Unix domain sockets, facilitating interoperability with network stacks used by Linux, FreeBSD, and container runtimes such as Docker. The core server manages in-memory datasets with configurable eviction policies influenced by strategies used in Memcached and persistent engines inspired by append-only logging like in Apache Kafka. High-availability configurations rely on a primary-replica model and sentinel monitoring reminiscent of consensus and failover tools such as ZooKeeper and etcd.
The platform provides native data structures—strings, lists, sets, sorted sets, hashes, bitmaps, hyperloglogs, and streams—comparable to primitive models in data-processing systems like Apache Flink and Apache Storm. Command sets include CRUD-like operations, atomic transactions, and server-side scripting via Lua, a language developed on Lua (programming language) foundations. Advanced commands support pub/sub messaging used in architectures alongside RabbitMQ and Apache ActiveMQ, probabilistic data structures related to Bloom filter research, and stream primitives that integrate with event-driven pipelines popularized by Apache Kafka.
Durability options include snapshotting and append-only file modes, which mirror strategies of log-structured storage in systems like LevelDB and RocksDB. Replication follows an asynchronous primary-replica approach with mechanisms for partial resynchronization to minimize divergence, similar in spirit to replication features in PostgreSQL and MySQL. High-availability orchestration uses sentinel processes and auto-failover semantics, intersecting operational patterns found in Consul and Mesos clusters. Cloud-managed offerings implement multi-zone replication and backup practices aligned with AWS Availability Zones and Google Cloud Regions.
Design choices emphasize low latency and high throughput, enabling workloads measured in millions of operations per second on commodity hardware, as seen in benchmarking studies alongside etcd and Cassandra. Optimizations include efficient memory allocators, pipelining, and clustered sharding across multiple nodes using a hash-slot algorithm akin to partitioning schemes in Apache Cassandra and consistent hashing techniques used by Varnish. Horizontal scaling is provided by a clustering mode that distributes keys and supports resharding with minimal downtime, paralleling approaches in distributed systems like CockroachDB.
Security features include access control lists, authenticated connections, and TLS encryption for transport, aligning with practices in OpenSSL and enterprise governance models adopted by ISO-aligned compliance programs. Administration tasks integrate with orchestration and monitoring tools such as Kubernetes, Prometheus, and Grafana for metrics, alerting, and visualization. Backup and restore workflows are routinely coordinated with infrastructure automation systems like Terraform and configuration management platforms like Ansible and Chef.
Common use cases span caching layers for web platforms used by Facebook-scale services, session stores for content management systems, leaderboard and gaming state for studios and publishers, real-time analytics for ad-tech stacks, and messaging backplanes in microservices architectures. Integrations exist with stream-processing frameworks such as Apache Flink and Apache Storm, analytics engines like Elasticsearch and ClickHouse, and orchestration pipelines leveraging Jenkins and GitLab CI/CD. Commercial and open-source clients provide language bindings for C++] ], Rust (programming language), Scala, PHP, and many others to connect application tiers to in-memory workloads deployed across cloud and on-premises infrastructures.
Category:Databases