valkey-io/valkey

[NEW] Introduce QUIC as a Transport Protocol for Valkey

Open

#1,652 opened on Feb 2, 2025

 (7 comments) (14 reactions) (0 assignees)C (1,138 forks)batch import
client-changes-neededhelp wantedmajor-decision-pending

Repository metrics

Stars
 (25,779 stars)
PR merge metrics
 (Avg merge 17d 7h) (74 merged PRs in 30d)

Description

Why?

  • Faster Connection Setup → QUIC combines TLS + transport handshake in 1 RTT, reducing connection latency.
  • Lower Overhead → Runs entirely in user space, avoiding kernel context switches from TCP+TLS.
  • Better Loss Recovery → No TCP head-of-line blocking; packet loss on one request doesn’t stall others.
  • Simplifies TLS Management → QUIC always encrypts with TLS, eliminating the need for separate TLS handling.

We’ll start with the existing 1:1 client-to-connection model, but in the future, we can explore multiplexing multiple streams per QUIC connection to further reduce connection overhead.

This is related to the discussion at https://github.com/valkey-io/valkey/issues/17#issuecomment-2018594155, #54, and #1300.

@ohadshacham, @pizhenwei, @asafpamzn, @zuiderkwast, @valkey-io/core-team

Contributor guide