Ultra-fast in-memory database alternative to Redis.
Tellstone is a cloud-native in-memory database written in Go — a RESP2-compatible alternative to Redis with a zero-copy binary protocol and a shared-nothing architecture that eliminates scaling bottlenecks by utilizing every core on every machine. Currently supports GET/SET/DEL/PING over RESP2, with more commands on the roadmap. Best suited as an in-cluster cache or accelerator in front of a durable database.
sudo apt install tellstone One Goroutine Per Shard, Not One-Size-Fits-All
Every shard runs its own goroutine with an independent lock-free map — no contention, no cross-shard coordination, just parallel execution.
No shared state. Each shard runs its own goroutine with an independent map and RWMutex. FNV-1a hashing pins every key to exactly one shard — zero cross-shard coordination, linear scaling with every core you add.
Designed for Modern Applications
Tellstone is built to accelerate cloud-native applications by providing high-performance in-memory storage with flexible deployment options.
High-Performance Protocols
Zero-copy binary protocol for maximum throughput, plus Redis-compatible RESP2 for seamless integration with existing Redis tools and clients. Supports GET/SET/DEL/PING today.
Sharded, Lock-Free Engine
N shards (default GOMAXPROCS, configurable) each with its own goroutine and RWMutex. FNV-1a hash routing, no cross-shard coordination — near-linear scaling as you add cores.
Zero-GC Hot Path
GC is disabled by default (TSD_GC_PERCENT=-1). Zero-allocation code paths with reusable scratch buffers mean zero stop-the-world pauses during normal operation.
Flexible Protocol Support
Choose the protocol that best fits your needs: ultra-fast zero-copy binary protocol for maximum performance, or Redis-compatible RESP2 for seamless integration with existing tools.
# task run:resp
redis-cli -p 6379 PING
-> PONG
redis-cli -p 6379 SET k v EX 60
-> OK
redis-cli -p 6379 GET k
-> "v"import "github.com/Saxy/Tellstone/client"
c, _ := client.Dial("127.0.0.1:9988", 2*time.Second)
defer c.Close()
scratch := make([]byte, 4096)
c.Set([]byte("hello"), []byte("world"), 0, scratch)
val, _ := c.Get([]byte("hello"), scratch) Easy Setup & Deployment
Install via APT, Homebrew, or pre-built binaries. Build from source if you prefer.
# Add the Tellstone repository
curl -fsSL https://saxy.github.io/tellstone-apt/key.gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/tellstone.gpg
echo "deb [signed-by=/usr/share/keyrings/tellstone.gpg] https://saxy.github.io/tellstone-apt stable main" \
| sudo tee /etc/apt/sources.list.d/tellstone.list
sudo apt update && sudo apt install tellstonebrew tap Saxy/tellstone-tap
brew install --cask Saxy/tellstone-tap/tellstone# Download from GitHub Releases
curl -fsSL https://github.com/Saxy/Tellstone/releases/latest/download/tellstone_1.0.0_linux_amd64.tar.gz \
| tar xz
sudo mv tellstone /usr/local/bin/git clone https://github.com/Saxy/Tellstone
cd Tellstone
task build # -> ./bin/tellstone Join the Open Source Community
Tellstone is open source under the Apache-2.0 license. Contribute to the codebase, documentation, or help shape the future of this high-performance in-memory database.