Compatibility and Roadmap¶
This page provides an overview of Lettuce compatibility with Java, Netty, and Redis versions, along with a timeline of major features introduced in each release.
Redis Modules and Features Support¶
Lettuce provides native support for Redis core data types and select Redis modules. The tables below show the current support status.
Supported Core Data Types¶
| Data Type | Support Status | Since Version | Notes |
|---|---|---|---|
| Strings | Supported | 1.0 | Full support including SET, GET, MSET, MGET, etc. |
| Hashes | Supported | 1.0 | Full support including Hash Field Expiration (6.4+) |
| Lists | Supported | 1.0 | Full support including blocking operations |
| Sets | Supported | 1.0 | Full support |
| Sorted Sets | Supported | 1.0 | Full support |
| Streams | Supported | 5.1 | Full support for XADD, XREAD, XREADGROUP, etc. |
| HyperLogLog | Supported | 1.0 | Full support |
| Geospatial | Supported | 4.0 | Full support for GEO* commands |
| Bitmaps | Supported | 1.0 | Full support |
| Bitfields | Supported | 4.2 | Full support |
| Vector Sets | Supported | 6.7 | Full support for VADD, VSIM, VCARD, etc. |
Supported Redis Modules / Features¶
| Module / Feature | Support Status | Since Version | Documentation |
|---|---|---|---|
| RedisJSON | Supported | 6.5 | Redis JSON Guide |
| RediSearch (Query Engine) | Supported | 6.8 | Redis Search Guide |
| Vector Search | Supported | 6.8 | Part of RediSearch support |
| Pub/Sub | Supported | 1.0 | Full support including Sharded Pub/Sub (6.4+) |
| Transactions | Supported | 1.0 | MULTI/EXEC/WATCH |
| Scripting (Lua) | Supported | 1.0 | EVAL, EVALSHA, SCRIPT commands |
| Functions | Supported | 6.3 | FCALL, FUNCTION LOAD, etc. |
| ACL | Supported | 6.0 | Full ACL command support |
| Client Tracking | Supported | 6.5 | CLIENT TRACKING command |
Unsupported Redis Modules¶
| Module | Support Status | Notes |
|---|---|---|
| RedisTimeSeries | Not Supported | Use Redis Command Interfaces for custom commands |
| RedisBloom | Not Supported | Use Redis Command Interfaces for custom commands |
| RedisGraph | Not Supported | Deprecated by Redis; use Redis Command Interfaces |
| Triggers and Functions | Not Supported | Use Redis Command Interfaces for custom commands |
Note: For unsupported modules, Lettuce provides the Redis Command Interfaces feature which allows you to define custom command interfaces for any Redis module. This enables type-safe access to module commands without waiting for native driver support.
Example: Using Custom Commands for Unsupported Modules¶
// Define a custom interface for RedisTimeSeries commands
interface TimeSeriesCommands extends Commands {
@Command("TS.CREATE")
String tsCreate(String key);
@Command("TS.ADD")
Long tsAdd(String key, long timestamp, double value);
@Command("TS.GET")
List<Object> tsGet(String key);
}
// Use the custom commands
RedisCommandFactory factory = new RedisCommandFactory(connection);
TimeSeriesCommands ts = factory.getCommands(TimeSeriesCommands.class);
ts.tsCreate("sensor:temperature");
ts.tsAdd("sensor:temperature", System.currentTimeMillis(), 23.5);
Java Compatibility¶
Lettuce requires Java 8 as the minimum version since Lettuce 5.0. The table below shows Java compatibility by Lettuce version:
| Lettuce Version | Minimum Java | Tested Up To |
|---|---|---|
| 5.0 - 5.3 | Java 8 | Java 11 |
| 6.0 - 6.8 | Java 8 | Java 21 |
| 7.0 and later | Java 8 | Java 24 |
Note: Lettuce 6.x and 7.x binaries are compiled with Java 8 as the target but are tested against newer Java versions including the latest LTS releases.
Netty Driver Versions¶
Lettuce is built on top of Netty for networking. The tables below show the specific Netty versions used by each Lettuce release.
Version Mapping Table¶
Netty 4.1 to 4.2 Migration¶
Lettuce 7.0 marks the migration from Netty 4.1.x to Netty 4.2.x, which brings:
- Adaptive memory allocator as the default allocator
- Updated threading model for NIO event loops
- Performance improvements in buffer management
Note: Service releases (patch versions) typically inherit the Netty version from the previous patch unless explicitly upgraded for security or stability reasons.
Redis Compatibility¶
Lettuce supports a wide range of Redis versions. See Redis releases for details.
| Lettuce Version | Tested Redis Versions |
|---|---|
| 5.x | Redis 2.6 - 6.0 |
| 6.x | Redis 2.6 - 8.2 |
| 7.x | Redis 2.6 - 8.4 |
Note: Lettuce maintains backward compatibility with older Redis versions while adding support for new features in the latest releases.
See Also¶
- New Features - Detailed feature documentation
- Getting Started - Quick start guide
- Overview - Lettuce overview
- Redis Command Interfaces - Custom command support