Generated by GPT-5-mini| Redis (software) | |
|---|---|
| Name | Redis |
| Developer | Salvatore Sanfilippo; Redis Labs |
| Released | 2009 |
| Operating system | Unix-like; Windows (port) |
| Genre | In-memory datastore; cache; message broker |
| License | BSD-like |
Redis (software) Redis is an open-source, in-memory data structure store used as a database, cache, and message broker. Created by Salvatore Sanfilippo and developed by Redis Labs (now Redis Ltd.), Redis emphasizes low latency, high throughput, and versatile data structures for modern web, mobile, and real-time systems. Redis has influenced architectures in companies like GitHub, Twitter, Facebook, and Microsoft Azure while integrating with ecosystems including Docker, Kubernetes, and Amazon Web Services.
Redis originated in 2009 by Salvatore Sanfilippo while he was working in Palermo; its development trajectory involved contributions from engineers associated with Mozilla, Facebook, and VMware. The project gained traction through early adopters such as GitHub and Twitter, and through advocacy at conferences like O’Reilly Open Source Convention and Velocity. Corporate stewardship transitioned as Redis Labs (now Redis Ltd.) formed to provide commercial services, leading to partnerships with Amazon Web Services, Microsoft Azure, and Google Cloud Platform. Redis’s evolution includes major releases adding modules and clustering; its timeline intersects with events like the 2010s rise of NoSQL databases and frameworks such as Node.js, Django, and Ruby on Rails.
Redis’s architecture centers on an event-driven, single-threaded core implemented in C, influenced by designs used at companies like Facebook and Twitter for low-latency services. The design leverages an in-memory dataset with optional disk persistence; this model resembles approaches used by Memcached and complements storage engines like RocksDB and LevelDB through modules. Redis provides a client-server protocol compatible with drivers maintained by communities from Java (Jedis), Python (redis-py), and Node.js (ioredis), enabling deployments on orchestration platforms such as Kubernetes and Mesos and integration with proxies like HAProxy and Nginx.
Redis exposes rich native data structures including strings, lists, sets, sorted sets, hashes, bitmaps, hyperloglogs, and streams; these structures support commands comparable in purpose to SQL operations found in MySQL and PostgreSQL but optimized for in-memory operations. Commands for transactions (MULTI/EXEC), pub/sub messaging, and Lua scripting (EVAL) allow complex workflows similar to stored procedures in Oracle and SQL Server. The module API enables extensions for specialized data types and capabilities like search and graph queries, paralleling features in Elasticsearch and Neo4j when used via Redis modules maintained by Redis Labs and community projects.
Redis offers multiple persistence options: point-in-time snapshots (RDB) and append-only files (AOF), reflecting trade-offs similar to journaling in PostgreSQL and write-ahead logging in Cassandra. Configurable fsync policies balance durability against throughput requirements for deployments by companies such as Instagram and Pinterest. Backup and recovery workflows integrate with tools from Docker, Kubernetes operators, and cloud storage providers like Amazon S3 and Google Cloud Storage; high-availability strategies often reference techniques used in replication systems at Oracle and MongoDB.
Redis implements asynchronous master-replica replication and a native clustering mode that shards data across nodes with automatic failover, influenced by distributed system principles employed at Amazon and Netflix. Sentinel provides monitoring and failover orchestration similarly to ZooKeeper and Consul, while Redis Cluster partitions keyspace using hash slots akin to consistent hashing used by Akamai and Akka. Deployments for resilient services often combine Redis with proxy layers, orchestration via Kubernetes, and monitoring using Prometheus and Grafana, reflecting operational patterns at LinkedIn and Stripe.
Redis is optimized for sub-millisecond latency and high operations-per-second workloads, making it suitable for caching, session storage, leaderboards, real-time analytics, rate limiting, and message queuing—use cases also addressed by Memcached, RabbitMQ, and Kafka. Benchmarks by independent teams and organizations such as Intel and Cloudflare highlight Redis’s throughput when tuned on Linux kernels, tuned TCP stacks, and modern CPU architectures from Intel and AMD. Industry usage includes caching layers in e-commerce platforms like Shopify, session stores in frameworks such as Spring, and real-time features in gaming backends developed by Electronic Arts.
Security practices around Redis mirror industry standards promoted by OWASP and CIS; configurations include ACLs, TLS encryption, and authentication to integrate with IAM solutions from Microsoft Azure Active Directory and AWS IAM. Administrative tooling encompasses command-line utilities, web dashboards, and enterprise offerings from Redis Ltd., and operational best practices recommend network isolation via firewalls and service meshes such as Istio. Monitoring, alerting, and backup strategies commonly leverage integrations with Prometheus, ELK Stack, and Splunk to satisfy compliance and reliability requirements in enterprises like Goldman Sachs and PayPal.
Category:Key–value databases Category:Open-source software