Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. 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.
Redis creates a new category in the database world. It combines the best of in-memory, schema-less design with optimized data structures and versatile modules that adapt to your data needs. The result is the most adept, high performance, multi-purpose database that scales easily like a simple key/value data store but delivers sophisticated functionality with great simplicity.
In addition to being fully in-memory, Redis enables data persistence and high availability through replication and backups.
Redis Simplifies App Development
Redis data structures provide built-in operations that process data optimally at the database level rather than the application level. Unlike other simple k/v stores, applications using Redis can implement complex functionality, such as computing set intersections or range analyses with simple commands. Redis’ unique architecture results in cleaner, more elegant code with fewer lines, faster execution time, better application performance and better CPU, I/O and network utilization.
Built for High Performance
Redis is built to provide the highest throughput (millions of operations/second) at the lowest latencies (< 1ms), with the least system resources. Redis’ matchless performance derives from intrinsic advantages from being written in C and optimized for execution with O (1) complexity. Unlike other k/v stores, Redis allows access discrete elements within objects eliminating serialization/deserialization and processing overheads. Based on a single-threaded lock free architecture, it supports an easy-to-parse networking protocol, pipelining for reduced latency and accelerated command execution and connection pooling for lower setup/teardown overheads.
Redis is a Visionary Choice
Redis Modules are add-ons or extensions to Redis that expand Redis to incorporate any data processing or analysis scenario. With Redis Modules, you no longer need to maintain and operate specialty databases for specific processing needs, you can simply choose from a range of open source or proprietary Redis modules. Redis Modules address a wide breadth of data processing scenarios from search, secondary indexes, native JSON handling to machine learning model serving and probabilistic data structures.