-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
:enhancementNew feature or requestNew feature or request:performanceSpeed and resource usageSpeed and resource usage:protocol :redisRedis RESP protocolRedis RESP protocol
Description
ChronDB currently implements a Redis-compatible interface, but only supports the older RESP2 protocol.
RESP3 (Redis Serialization Protocol v3) introduces typed responses (e.g., maps, sets, nulls, doubles) that make integration with modern clients safer and more expressive.
Why
By implementing RESP3, ChronDB becomes fully compatible with modern Redis clients such as:
Adding SCAN/HSCAN/SSCAN support allows users to iterate over large keyspaces efficiently, while a new HISTORY command enables browsing historical states without full repository traversal.
What to do
- Implement RESP3 handshake negotiation (
HELLO 3command). - Support cursor-based iteration with
SCAN/HSCAN/SSCAN. - Introduce a new command:
HISTORY key [cursor | since <timestamp>]
returning a paginated chronological list of value changes. - Ensure backward compatibility with RESP2 clients.
Acceptance Criteria
- RESP3 negotiation fully implemented and tested.
-
SCANandHISTORYcommands documented and functional. - History pagination supports large datasets.
- Works with both RESP2 and RESP3 clients.
References
- Redis Protocol Spec (RESP3): https://redis.io/docs/latest/develop/reference/protocol-spec/
- Example client library: https://github.com/redis/redis-py
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
:enhancementNew feature or requestNew feature or request:performanceSpeed and resource usageSpeed and resource usage:protocol :redisRedis RESP protocolRedis RESP protocol