Rana718/FyroDB
Rana718/FyroDB has 76 GitHub stars and 12 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-15 08:14 UTC. Last push 2026-10-28.
Measured star growth
- in 24h
- 0
- in 7 days
- +1
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Blazing fast Redis-compatible in-memory KV store and PostgreSQL caching proxy written in Rust. Sub-microsecond query cache, vector search, and drop-in Redis replacement.
DataREADME.md
OriginalFyroDB
A Redis-compatible in-memory KV store and a PostgreSQL query caching proxy — both in one Rust binary. The KV engine speaks RESP2/RESP3; any Redis client works. The proxy speaks full PostgreSQL wire protocol; any Postgres driver works.
v0.3.0 — zero-allocation hot paths across the KV engine, cluster slot accelerations, mio proxy event loop, +32% extended-protocol throughput, deep proxy test coverage. → Changelog
Install
# Docker
docker run -p 8000:8000 rana718/fyrodb:latest
# From source
cargo build --release && ./target/release/fyro_db
# Connect (KV / Redis-compatible)
redis-cli -p 8000 SET name rana
redis-cli -p 8000 GET name
KV Engine
Redis-compatible — any Redis client, SDK, or CLI works unchanged.
services:
fyrodb:
image: rana718/fyrodb:latest
ports:
- "8000:8000"
environment:
FYRODB_PORT: "8000"
FYRODB_WORKERS: "0" # 0 = auto (CPU cores)
FYRODB_MAX_KEYS: "5000000"
FYRODB_AUTH: "secret"
FYRODB_RDB_PATH: /data/fyrodb.rdb
volumes:
- fyrodb-data:/data
volumes:
fyrodb-data:
Key numbers (6-core i5-11400H, 100 clients, 1M ops):
| Benchmark | FyroDB | Redis Cluster (12 nodes) | Speedup |
|---|---|---|---|
| Pipelined GET | 53.38M ops/sec | 11.62M ops/sec | 4.59× |
| Pipelined SET | 39.62M ops/sec | 6.53M ops/sec | 6.07× |
| Mixed SET/GET | 45.87M ops/sec | 5.82M ops/sec | 7.88× |
| INCR (counters) | 108.56M ops/sec | 6.54M ops/sec | 16.6× |
| Pub/Sub delivery | 113.98M msg/sec | 8.09M msg/sec | 14.1× |
| Hot Key contention | 37.68M ops/sec | 1.61M ops/sec | 23.4× |
Full benchmark table → Benchmarks docs
Data types: String · Hash · List · Set · Sorted Set · JSON · Stream · Bitmap · HyperLogLog · Geospatial · Vector Search · Full-Text Search
DB Cache Proxy
Sits in front of any PostgreSQL database. Change one env var in your app — no code changes needed.
# Before
DATABASE_URL=postgres://user:pass@postgres:5432/mydb
# After (identical wire protocol, cached automatically)
DATABASE_URL=postgres://user:pass@fyrodb:5432/mydb
First query for each SQL pattern → forwarded to Postgres, result cached. Every subsequent identical query → served from memory in ~1 µs, no database call.
services:
app:
build: .
environment:
REDIS_URL: redis://fyrodb:8000 # KV / sessions
DATABASE_URL: postgres://appuser:secret@fyrodb:5432/mydb # cached queries
fyrodb:
image: rana718/fyrodb:latest
ports:
- "8000:8000" # KV / Redis
- "5432:5432" # DB Cache Proxy
environment:
FYRODB_PROXY_ENABLED: "true"
FYRODB_PROXY_UPSTREAM_URL: postgres://appuser:secret@postgres:5432/mydb
FYRODB_PROXY_TRUST_AUTH: "true"
FYRODB_PROXY_CACHE_TTL_MS: "30000"
FYRODB_PROXY_WORKERS: "2"
postgres:
image: postgres:16
environment:
POSTGRES_USER: appuser
POSTGRES_PASSWORD: secret
POSTGRES_DB: mydb
Configuration
| Variable | Default | Description |
|---|---|---|
FYRODB_PORT |
8000 |
KV listen port |
FYRODB_WORKERS |
0 (auto) |
Worker threads |
FYRODB_AUTH |
(none) | KV password |
FYRODB_MAX_KEYS |
0 (unlimited) |
Key ceiling |
FYRODB_RDB_PATH |
fyrodb.rdb |
Snapshot path |
FYRODB_PROXY_ENABLED |
false |
Enable DB cache proxy |
FYRODB_PROXY_PORT |
5432 |
Proxy listen port |
FYRODB_PROXY_UPSTREAM_URL |
(none) | postgres://... upstream |
FYRODB_PROXY_WORKERS |
0 (auto) |
Proxy mio threads |
FYRODB_PROXY_CACHE_TTL_MS |
60000 |
Result TTL |
FYRODB_PROXY_TRUST_AUTH |
false |
Skip client auth |
FYRODB_PROXY_MODE |
dual |
dual or cache-only |
Full reference → Configuration docs
Links
| Documentation | https://fyrodb.vercel.app/docs/introduction |
| Architecture | ARCHITECTURE.md |
| Changelog | CHANGELOG.md |
| Contributing | CONTRIBUTING.md |
| Docker Hub | https://hub.docker.com/r/rana718/fyrodb |
Built on customhash — a sharded lock-free concurrent hash map with epoch-based reclamation and per-key seqlock.
License
Apache 2.0