Compatibility

Compatibility

rLightning targets full compatibility with Redis 7.x. It implements the complete Redis Serialization Protocol (RESP2 and RESP3) and supports 400+ commands across all data types.

Protocol Support

Command Coverage

rLightning implements 400+ Redis commands spanning every command category:

Known Incompatibilities

As of v2.0.0, there are no known incompatibilities between rLightning and Redis 7.x. All previously identified behavioral differences have been resolved.

Previously Resolved Issues

The following incompatibilities were identified through the multi-language compatibility test suite and have since been fixed:

Multi-Language Compatibility Testing

rLightning includes a comprehensive compatibility test suite that validates behavior against a real Redis 7 server using three major client libraries.

Client Libraries Tested

LanguageClient LibraryVersion
Gogo-redis/v9Latest
JavaScriptioredisLatest
Pythonredis-pyLatest

Test Coverage

Each language implements approximately 231 tests across 25 categories:

Running Compatibility Tests

The test suite runs each client against both Redis 7 and rLightning, then compares the results.

# Run the full suite in local mode (uses local Go/Node/Python, Docker for servers)
cd tests/docker-compat && ./run-tests.sh --local

# Run the full suite with Docker clients
cd tests/docker-compat && ./run-tests.sh

# Run an individual client against a specific server
REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=test_password \
  go run ./tests/docker-compat/go-client/...

REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=test_password \
  node tests/docker-compat/js-client/index.js

REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=test_password \
  python tests/docker-compat/python-client/test_compat.py

# Generate a comparison report from collected results
python tests/docker-compat/report/generate-report.py --results-dir tests/docker-compat/results/

Test Methodology

  1. A Redis 7 container and an rLightning container are started with identical configurations
  2. Each client library runs its full test suite against both servers
  3. Results are collected in JSON format
  4. A comparison report highlights any behavioral differences
  5. Containers are cleaned up automatically after the run

For the current list of known behavioral differences (if any), see tests/docker-compat/KNOWN-INCOMPATIBILITIES.txt in the repository.