This document serves as both a quick start guide to Redis and a detailed resource for building it from source. New to Redis? Start with What is Redis and Getting…

This document serves as both a quick start guide to Redis and a detailed resource for building it from source.
- New to Redis? Start with [What is Redis](#what-is-redis) and [Getting Started](#getting-started)
- Ready to build from source? Jump to [Build Redis from Source](#build-redis-from-source)
- Want to contribute? See the [Code contributions](#code-contributions) section
- Looking for detailed documentation? Navigate to redis.io/docs
Table of contents
- [What is Redis?](#what-is-redis)
- [Why choose Redis?](#why-choose-redis)
- [What is Redis Open Source?](#what-is-redis-open-source)
- [Getting started](#getting-started)
- [Redis data types, processing engines, and capabilities](#redis-data-types-processing-engines-and-capabilities)
- [Cloud hosted Redis](#cloud-hosted-redis)
- [Community](#community)
- [Build Redis from source](#build-redis-from-source)
- [Code contributions](#code-contributions)
- [Redis Trademarks](#redis-trademarks)
What is Redis?
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
Key use cases
Redis excels in various applications, including:
- Caching: Supports multiple eviction policies, key expiration, and hash-field expiration.
- Distributed Session Store: Offers flexible session data modeling (string, JSON, hash).
- Data Structure Server: Provides low-level data structures (strings, lists, sets, hashes, sorted sets, JSON, etc.) with high-level semantics (counters, queues, leaderboards, rate limiters) and supports transactions & scripting.
- NoSQL Data Store: Key-value, document, and time series data storage.
- Search and Query Engine: Indexing for hash/JSON documents, supporting vector search, full-text search, geospatial queries, ranking, and aggregations via Redis Search.
- Event Store & Message Broker: Implements queues (lists), priority queues (sorted sets), event deduplication (sets), streams, and pub/sub with probabilistic stream processing capabilities.
- Vector Store for GenAI: Integrates with AI applications (e.g. LangGraph, mem0) for short-term memory, long-term memory, LLM response caching (semantic caching), and retrieval augmented generation (RAG).
- Real-Time Analytics: Powers personalization, recommendations, fraud detection, and risk assessment.
Why choose Redis?
Redis is a popular choice for developers worldwide due to its combination of speed, flexibility, and rich feature set. Here's why people choose Redis for:
- Performance: Because Redis keeps data primarily in memory and uses efficient data structures, it achieves extremely low latency (often sub-millisecond) for both read and write operations. This makes it ideal for applications demanding real-time responsiveness.
- Flexibility: Redis isn't just a key-value store, it provides native support for a wide range of data structures and capabilities listed in [What is Redis?](#what-is-redis)
- Extensibility: Redis is not limited to the built-in data structures, it has a modules API that makes it possible to extend Redis functionality and rapidly implement new Redis commands
- Simplicity: Redis has a simple, text-based protocol and well-documented command set
- Ubiquity: Redis is battle tested in production workloads at a massive scale. There is a good chance you indirectly interact with Redis several times daily
- Versatility: Redis is the de facto standard for use cases such as:
In summary, Redis provides a powerful, fast, and flexible toolkit for solving a wide variety of data management challenges. If you want to know more, here is a list of starting points:
What is Redis Open Source?
Redis Community Edition (Redis CE) was renamed Redis Open Source with the v8.0 release.
Redis Ltd. also offers Redis Software, a self-managed software with additional compliance, reliability, and resiliency for enterprise scaling,
and Redis Cloud, a fully managed service integrated with Google Cloud, Azure, and AWS for production-ready apps.
Read more about the differences between Redis Open Source and Redis here.
Getting started
If you want to get up and running with Redis quickly without needing to build from source, use one of the following methods:
sh
docker run -d -p 6379:6379 redis:latest
- Redis binary distributions
Redis starter projects
To get started as quickly as possible in your language of choice, use one of the following starter projects:
- Python (redis-py)
- C#/.NET (NRedisStack/StackExchange.Redis)
- Go (go-redis)
- JavaScript (node-redis)
- Java/Spring (Jedis)
Using Redis with client libraries
To connect your application to Redis, you will need a client library. Redis has documented client libraries in most popular languages, with community-supported client libraries in additional languages.
- Python (redis-py)
- Python (RedisVL)
- C#/.NET (NRedisStack/StackExchange.Redis)
- JavaScript (node-redis)
- Java (Jedis)
- Java (Lettuce)
- Go (go-redis)
- PHP (Predis)
- C (hiredis)
- Full list of client libraries
Using Redis with redis-cli
redis-cli is Redis' command line interface. It is available as part of all the binary distributions and when you build Redis from source.
You can start a redis-server instance, and then, in another terminal try the following:
sh
cd src
./redis-cli
text
redis> ping
PONG
redis> set foo bar
OK
redis> get foo
"bar"
redis> incr mycounter
(integer) 1
redis> incr mycounter
(integer) 2
redis>
Using Redis with Redis Insight
For a more visual and user-friendly experience, use Redis Insight - a tool that lets you explore data, design, develop, and optimize your applications while also serving as a platform for Redis education and onboarding. Redis Insight integrates Redis Copilot, a natural language AI assistant that improves the experience when working with data and commands.
Redis data types, processing engines, and capabilities
Redis provides a variety of data types, processing engines, and capabilities to support a wide range of use cases:
Important: Features marked with an asterisk (\*) require Redis to be compiled with the BUILD_WITH_MODULES=yes flag when [building Redis from source](#build-redis-from-source)
- String: Sequences of bytes, including text, serialized objects, and binary arrays used for caching, counters, and bitwise operations.
- JSON: Nested JSON documents that are indexed and searchable using JSONPath expressions and with Redis Search
- Array: Sparse, index-addressable collection of string values
- Hash: Field-value maps used to represent basic objects and store groupings of key-value pairs with support for hash field expiration (TTL)
- Redis Search: Use Redis as a document database, a vector database, a secondary index, and a search engine. Define indexes for hash and JSON documents and then use a rich query language for vector search, full-text search, geospatial queries, and aggregations.
- List: Linked lists of string values used as stacks, queues, and for queue management.
- Set: Unordered collection of unique strings used for tracking unique items, relations, and common set operations (intersections, unions, differences).
- Sorted set: Collection of unique strings ordered by an associated score used for leaderboards and rate limiters.
- Vector set (beta): Collection of vector embeddings used for semantic similarity search, semantic caching, semantic routing, and Retrieval Augmented Generation (RAG).
- Geospatial indexes: Coordinates used for finding nearby points within a given radius or bounding box.
- Bitmap: A set of bit-oriented operations defined on the string type used for efficient set representations and object permissions.
- Bitfield: Binary-encoded strings that let you set, increment, and get integer values of arbitrary bit length used for limited-range counters, numeric values, and multi-level object permissions such as role-based access control (RBAC)
- Hyperloglog: A probabilistic data structure for approximating the cardinality of a set used for analytics such as counting unique visits, form fills, etc.
- \*Bloom filter: A probabilistic data structure to check if a given value is present in a set. Used for fraud detection, ad placement, and unique column (i.e. username/email/slug) checks.
- \*Cuckoo filter: A probabilistic data structure for checking if a given value is present in a set while also allowing limited counting and deletions used in targeted advertising and coupon code validation.
- \*t-digest: A probabilistic data structure used for estimating the percentile of a large dataset without having to store and order all the data points. Used for hardware/software monitoring, online gaming, network traffic monitoring, and predictive maintenance.
- \*Top-k: A probabilistic data structure for finding the most frequent values in a data stream used for trend discovery.
- \*Count-min sketch: A probabilistic data structure for estimating how many times a given value appears in a data stream used for sales volume calculations.
- Time series: Data points indexed in time order used for monitoring sensor data, asset
- [**
Members
-
redis ★ PINNED
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
C ★ 75k 3d agoExplain → -
go-redis ★ PINNED
Redis Go client
Go ★ 22k 2d agoExplain → -
node-redis ★ PINNED
Redis Node.js client
TypeScript ★ 18k 5d agoExplain → -
redis-py ★ PINNED
Redis Python client
Python ★ 14k 1d agoExplain → -
jedis ★ PINNED
Redis Java client
Java ★ 12k 3h agoExplain → -
docs ★ PINNED
Documentation for Redis, Redis Cloud, and Redis Enterprise
Java ★ 69 1d agoExplain → -
RedisDesktopManager
No description.
C++ ★ 23k 1y agoExplain → -
ioredis
🚀 A robust, performance-focused, and full-featured Redis client for Node.js.
TypeScript ★ 15k 12d agoExplain → -
RedisInsight
Redis GUI by Redis
TypeScript ★ 8.6k 11h agoExplain → -
hiredis
Minimalistic C client for Redis >= 1.2
C ★ 6.7k 16d agoExplain → -
lettuce
Advanced Java Redis client for thread-safe sync, async, and reactive usage. Supports Cluster, Sentinel, Pipelining, and codecs.
Java ★ 5.8k 1d agoExplain → -
redis-rb
A Ruby client library for Redis
Ruby ★ 4.0k 2d agoExplain → -
rueidis
A fast Golang Redis client that supports Client Side Caching, Auto Pipelining, RDMA, etc.
Go ★ 3.0k 23h agoExplain → -
redis-doc ▣
Redis documentation source code for markdown and metadata files, conversion scripts, and so forth
Shell ★ 2.3k 1y agoExplain → -
redis-om-python
Object mapping, and more, for Redis and Python
Python ★ 1.3k 22h agoExplain → -
redis-om-node
Object mapping, and more, for Redis and Node.js. Written in TypeScript.
TypeScript ★ 1.3k 1y agoExplain → -
docker-library-redis
Docker Official Image packaging for Redis
Shell ★ 1.2k 4d agoExplain → -
memtier_benchmark
NoSQL Redis and Memcache traffic generation and benchmarking tool.
C++ ★ 1.0k 3d agoExplain → -
redis-om-spring
Spring Data Redis extensions for better search, documents models, and more
Java ★ 654 1d agoExplain → -
redis-io ▣
Application running http://redis.io
Ruby ★ 631 4y agoExplain → -
mcp-redis
The official Redis MCP Server is a natural language interface designed for agentic applications to manage and search data in Redis efficiently
Python ★ 537 3d agoExplain → -
redis-om-dotnet
Object mapping, and more, for Redis and .NET
C# ★ 523 2d agoExplain → -
hiredis-py
Python wrapper for hiredis
C ★ 522 17d agoExplain → -
redis-vl-python
Redis Vector Library (RedisVL) -- the AI-native Python client for Redis.
Python ★ 411 4d agoExplain → -
riot ▣
⚠️ UNMAINTAINED - See RIOT-X for the actively maintained version
Java ★ 332 7mo agoExplain → -
NRedisStack
Redis Stack .Net client
C# ★ 322 3d agoExplain → -
hiredis-rb
Ruby wrapper for hiredis
Ruby ★ 320 1y agoExplain → -
hiredis-node ▣
Node wrapper for hiredis
JavaScript ★ 304 6y agoExplain → -
agent-memory-server
Fast and flexible memory for agents and AI applications using Redis
Python ★ 282 23h agoExplain → -
redis-rcp
Redis Change Proposals
★ 135 7y agoExplain → -
redis-hashes
Redis tarball SHA1 hashes
★ 102 16d agoExplain → -
minipilot
MiniPilot is a GenAI-assisted chatbot backed by Redis. Chat with your documents
HTML ★ 86 1y agoExplain → -
Redis-for-VS-Code
Redis GUI extension for Visual Studio Code by Redis
TypeScript ★ 75 19d agoExplain → -
agent-skills
Redis' official collection of agent skills
TypeScript ★ 74 24d agoExplain → -
lettucemod
Java client for Redis Modules
Java ★ 67 5mo agoExplain → -
try.redis ⑂
A demonstration of the Redis database.
Ruby ★ 67 3y agoExplain → -
librdb
Redis RDB file parser, with JSON, RESP and RDB-loader extensions
C ★ 61 4d agoExplain → -
redis-specifications
A bin for Redis' specs
★ 48 2y agoExplain → -
redis-debian
Debian packaging
Shell ★ 43 4d agoExplain → -
redis-benchmarks-specification
The Redis benchmarks specification describes the cross-language/tools requirements and expectations to foster performance and observability standards around redis related technologies. Members from both industry and academia, including organizations and individuals are encouraged to contribute.
Python ★ 40 3d agoExplain → -
mcp-redis-cloud
No description.
TypeScript ★ 39 1y agoExplain → -
agent-filesystem
No description.
Go ★ 21 3d agoExplain → -
redis-iris-demos
No description.
Python ★ 20 1d agoExplain → -
redis-vl-java
Redis Vector Library (RedisVL) -- the AI-native Java client for Redis.
Java ★ 19 15d agoExplain → -
redis-rpm
No description.
Smarty ★ 17 4d agoExplain → -
Tutorials
Discover Redis Stack capabilities to enjoy a complete developer experience while building modern applications where performance is paramount
★ 17 8mo agoExplain → -
redisctl
Unified CLI for Redis Cloud and Enterprise management
Rust ★ 14 2d agoExplain → -
riotx-dist
RIOT extensions for the Enterprise
★ 14 4d agoExplain → -
redis-py-entraid
Entra ID credentials provider implementation for Redis-py client
Python ★ 11 17d agoExplain → -
redis-snap
A repository for snap packaging
★ 11 10d agoExplain → -
homebrew-redis
Redis on the Homebrew package manager
Ruby ★ 10 9d agoExplain → -
RedisInsight-reverse-proxy
No description.
Python ★ 9 1y agoExplain → -
redis-website
No description.
HTML ★ 9 2y agoExplain → -
Packages
No description.
JavaScript ★ 8 1y agoExplain → -
vector-sets-browser
Browser for new Redis Vector Sets
TypeScript ★ 7 1y agoExplain → -
Redis-Insight-Guides
Learn modern data models and data processing tools bundled in Redis Stack to build real-time applications with the speed and stability of Redis.
★ 7 1y agoExplain → -
go-redis-entraid
Entra ID extension for go-redis
Go ★ 5 5mo agoExplain → -
redis-extra-ci
No description.
★ 5 1y agoExplain → -
redis-clinterwebz ▣
No description.
Python ★ 4 1y agoExplain → -
fastapi-redis-sdk
FastAPI SDK for Redis
Python ★ 3 11d agoExplain → -
jvm-redis-authx-entraid
No description.
Java ★ 3 8mo agoExplain → -
hiredis-rs-sys
Bindings to Hiredis
Rust ★ 2 9y agoExplain → -
riot-docker
No description.
Dockerfile ★ 2 1y agoExplain → -
redis-mcp-java
Redis MCP library for Java
Java ★ 2 11mo agoExplain → -
hiredis-rs
Interface to Hiredis
Rust ★ 1 9y agoExplain → -
rdi-cloud-automation
No description.
HCL ★ 1 26d agoExplain → -
Statics
No description.
★ 1 8mo agoExplain → -
redis-ai-research-public
https://redislabs.atlassian.net/browse/ITHELP-11573
Python ★ 0 1mo agoExplain → -
homebrew-tap
Homebrew tap for Redis organization
Ruby ★ 0 2d agoExplain → -
github-workflows
Reusable GitHub Actions workflows for Redis projects
★ 0 2d agoExplain → -
scoop
No description.
★ 0 4d agoExplain → -
antora-ui-redis
Antora UI bundle for Redis projects
CSS ★ 0 1mo agoExplain → -
redis--bot--fork ⑂
Used by automation (GH app)
★ 0 18d agoExplain → -
Notifications
No description.
JavaScript ★ 0 4mo agoExplain → -
riotx-docker
No description.
★ 0 10mo agoExplain →
No repos match these filters.