Redis Modules Overview
Redis started as a fast store for Strings, Lists, Hashes, Sets, and Sorted Sets. Over time, the project added modules that bring new data types and engines: JSON documents, full-text search, time series, probabilistic structures, and vector search. Redis 8 built these features into the main server, so one download gives you the full toolbox.
The Smartphone Analogy
Early phones made calls only, and you carried a camera, a music player, and a map separately. Smartphones merged them into one device. Redis followed the same path. Features that once required add-on modules now arrive in one package.
Before Redis 8 Redis 8 and later
┌────────────┐ ┌──────────────────────────┐
│ Redis core │ │ Redis Open Source │
└─────┬──────┘ │ Core data types │
│ load separately │ JSON │
┌─────▼─────┐ ┌──────┐ ┌────────┐ │ Query Engine (Search) │
│ JSON │ │Search│ │ Bloom │ │ Time series │
└───────────┘ └──────┘ └────────┘ │ Probabilistic types │
(modules or Redis Stack) │ Vector set (beta) │
└──────────────────────────┘
What Redis 8 Includes
Feature Purpose ─────────────────────── ─────────────────────────────────────────────── JSON Store and change nested documents Query Engine (Search) Index and query Hashes and JSON documents Time series Store values with timestamps and compress them Bloom filter Check "maybe present" with tiny memory Cuckoo filter Like Bloom, with delete support Count-min sketch Estimate how often items appear Top-k Track the most frequent items t-digest Estimate percentiles of number streams Vector set (beta) Store embeddings and find similar items
Redis publishes this bundle as Redis Open Source. Older Redis Stack releases and separate module downloads belong to the previous generation.
Quick Tour with Real Commands
JSON
127.0.0.1:6379> JSON.SET book:1 $ '{"title":"Redis Basics","pages":220}'
OK
127.0.0.1:6379> JSON.GET book:1 $.title
"[\"Redis Basics\"]"
Time Series
127.0.0.1:6379> TS.CREATE temp:room1 RETENTION 86400000 OK 127.0.0.1:6379> TS.ADD temp:room1 * 24.5 (integer) 1718003600000 127.0.0.1:6379> TS.RANGE temp:room1 - + 1) 1) (integer) 1718003600000 2) 24.5
The star tells Redis to use the current time as the timestamp. RETENTION sets how many milliseconds Redis keeps the data.
Bloom Filter
127.0.0.1:6379> BF.ADD usernames "asha" (integer) 1 127.0.0.1:6379> BF.EXISTS usernames "asha" (integer) 1
Upgrading Notes
- Remove old loadmodule lines from redis.conf when you move to Redis 8, because the features now live in the server.
- Review ACL rules. Redis 8 adds the categories @search, @json, @timeseries, @bloom, @cuckoo, @cms, @topk, and @tdigest, and includes the new commands in broad categories such as @read and @write.
- Vector set remains in beta, and its behavior may change in later versions.
Licensing in Plain Words
Redis 8 is available under the AGPLv3 open source license, in addition to the source-available RSALv2 and SSPLv1 licenses. Read the license terms that match your project before you ship Redis inside a product. Hosted services from cloud providers follow their own agreements.
Practical Example – One Server, Many Jobs
A small learning platform uses one Redis 8 server for: Sessions → Hash keys with TTL Course catalog → JSON documents Course search box → Query Engine index Daily visit chart → Time series Duplicate sign-ups → Bloom filter "Similar courses" → Vector set or vector index Result: Fewer servers to run, patch, and pay for.
Key Points
- Modules add new data types and engines to Redis.
- Redis 8 includes JSON, Search, time series, and probabilistic structures in the core.
- Vector set arrives as a beta data type for similarity search.
- Check ACL rules and remove old module loading lines when upgrading.
