Skip to content
프로젝트

swytchdb/swytch has 89 GitHub stars and 7 forks. Star changes are not measured yet. Last checked 2026-11-14 07:16 UTC. Last push 2026-11-11.

이 수치를 측정하는 방법

측정된 스타 증가

in 24h
기록 수집 중
in 7 days
기록 수집 중
in 15 days
기록 수집 중
in 1 month
기록 수집 중

서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.

소개

A leaderless distributed cache/database

데이터

README.md

Original

Swytch

Redis-compatible, distributed cache. No leaders, no quorums, no clock sync.

Join us on Discord to discuss the hardest parts of computer science, physics, and — when those get too easy — the weather.

The short version

Swytch speaks the Redis wire protocol. Your existing client connects, your existing commands run. Strings, hashes, sets, sorted sets, streams, pub/sub, scripting, transactions, ACLs — 463 commands across all the data types you'd expect.

Underneath, it's not Redis. Every mutation produces an effect that carries pointers to the effects it observed. The happened-before relation is encoded directly in the data, not inferred from clocks.

That's the whole trick. Replication has no leaders because there's nothing to elect. Merges need no coordination because the dependency graph orders them deterministically. Consistency comes from physics.

Learn more:

Install

# macOS / Linux (Homebrew)
brew tap swytchdb/tap
brew install swytch

# macOS / Linux (curl)
curl -fsSL https://getswytch.com/scripts/install.sh | sh

# NixOS (flakes)
nix profile add github:swytchdb/swytch#swytch

# Windows (PowerShell)
iwr -useb https://getswytch.com/scripts/install.ps1 | iex

Or pull the container:

docker pull ghcr.io/swytchdb/swytch:latest

Pinning a version with the curl/iwr installers:

curl -fsSL https://getswytch.com/scripts/install.sh | SWYTCH_VERSION=v0.1.0 sh
& ([scriptblock]::Create((iwr -useb https://getswytch.com/scripts/install.ps1))) -Version v0.1.0 -AddToPath

Prebuilt binaries, checksums, and cosign signatures for every release are at https://github.com/swytchdb/swytch/releases.

Quick start

swytch redis
redis-cli -p 6379

For sidecar deployments, talk to it over a Unix socket. No TCP overhead, no listener exposed:

swytch redis --unixsocket /tmp/swytch.sock --bind ""
import redis
r = redis.Redis(unix_socket_path="/tmp/swytch.sock")
r.set("hello", "world")

More options

# Custom port and memory limit
swytch redis --port 6380 --maxmemory 256mb --bind 0.0.0.0

# TLS (client-facing)
swytch redis --tls-cert-file server.crt --tls-key-file server.key

# mTLS (require client certs)
swytch redis --tls-cert-file server.crt --tls-key-file server.key --tls-ca-cert-file ca.crt

# Metrics and tracing
swytch redis --metrics-port 9090 --otel-endpoint localhost:4318

swytch redis -h for the full list.

Building from source

just build              # development
just build-release      # stripped, trimpath
just build-platform linux arm64
just test               # tests
just test-race          # tests with race detector
just proto              # regenerate protobuf definitions

License

AGPL-3.0. See source file headers. Commercial licensing available; email [email protected].

관련 프로젝트 살펴보기