---
title: "Redis RESP3 Protocol Documentation"
---

# Redis RESP3 Protocol Documentation

:::caution[What the server actually reads]
The `heliosdb-full` Redis listener is enabled with `--enable-redis` (port `--redis-port`,
default 6379, environment `HELIOSDB_REDIS_PORT`) and binds `--bind-addr`. It has no
config-file section, no TLS and no separate Redis password: clients must send
`AUTH <role> <password>` with a role name from the server's role catalog, and the
password is not verified yet. Keep the listener on loopback or a trusted private
network. The keyspace is kept in memory and is not persisted to HeliosDB tables.
Settings on this page that are not listed here are not read by the server.
:::

This directory contains consolidated documentation for HeliosDB's Redis RESP3 protocol support.

## Quick Start

Connect to HeliosDB using any Redis client:

```python
import redis

# Connect to HeliosDB (Redis-compatible)
client = redis.Redis(
    host='localhost',
    port=6379,
    protocol=3,  # RESP3
    decode_responses=True
)

# Test connection
print(client.ping())  # True

# Basic operations
client.set('user:1:name', 'Alice')
name = client.get('user:1:name')
```

## Contents

| File | Description |
|------|-------------|
| **README.md** | Overview and quick start (this file) |
| **CONFIGURATION.md** | Connection and protocol configuration |
| **COMPATIBILITY.md** | RESP3 feature compatibility |
| **EXAMPLES.md** | Redis command examples |

## Feature Overview

### RESP3 Protocol Support

| Feature | Result | Notes |
|---------|--------|-------|
| Protocol Version | RESP3 | Full v3 implementation |
| HELLO Command | Supported | Protocol negotiation |
| Push Types | Supported | Server-initiated messages |
| Streaming | Supported | Large value handling |
| Boolean Type | Supported | Native true/false |

### Data Structures

| Structure | Coverage | Key Commands |
|-----------|----------|--------------|
| Strings | 100% | GET, SET, INCR, APPEND |
| Lists | 100% | LPUSH, RPOP, LRANGE |
| Sets | 100% | SADD, SMEMBERS, SINTER |
| Sorted Sets | 100% | ZADD, ZRANGE, ZINCRBY |
| Hashes | 100% | HSET, HGET, HGETALL |
| Streams | 100% | XADD, XREAD, XGROUP |
| HyperLogLog | 100% | PFADD, PFCOUNT |
| Bitmaps | 100% | SETBIT, GETBIT, BITCOUNT |
| Geospatial | 100% | GEOADD, GEORADIUS |

### Advanced Features

| Feature | Result | Notes |
|---------|--------|-------|
| Pub/Sub | Supported | SUBSCRIBE, PUBLISH, PSUBSCRIBE |
| Transactions | Supported | MULTI, EXEC, WATCH |
| Lua Scripting | 80% | EVAL, EVALSHA |
| Pipelining | Supported | Batch operations |
| ACL | Supported | User-based access control |

## Connection Parameters

| Parameter | Default | Description |
|-----------|---------|-------------|
| `host` | localhost | Server hostname |
| `port` | 6379 | Redis protocol port |
| `protocol` | 3 | RESP version (2 or 3) |
| `password` | - | Authentication password |
| `username` | default | ACL username |
| `database` | 0 | Database number |

## Driver Compatibility

| Driver | Version | Result |
|--------|---------|--------|
| redis-py (Python) | 4.5+ | Full |
| node-redis (Node.js) | 4.x | Full |
| Jedis (Java) | 4.x | Full |
| go-redis (Go) | 9.x | Full |
| StackExchange.Redis (C#) | 2.x | Full |

## Use Cases

- **Caching**: High-speed key-value caching
- **Session Storage**: User session management
- **Rate Limiting**: Request throttling
- **Leaderboards**: Real-time rankings
- **Pub/Sub**: Real-time messaging
- **Job Queues**: Background task processing

## Related Documentation

- **[CONFIGURATION.md](https://www.heliosdb.com/docs/full/reference/protocols/redis/configuration/)** - Connection configuration
- **[COMPATIBILITY.md](https://www.heliosdb.com/docs/full/reference/protocols/redis/compatibility/)** - Feature compatibility
- **[EXAMPLES.md](https://www.heliosdb.com/docs/full/reference/protocols/redis/examples/)** - Usage examples
- **[Parent Directory](https://www.heliosdb.com/docs/full/reference/protocols/readme/)** - Protocol overview
