Skip to content
Projects

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.

How these counts are measured

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.

Data

README.md

Original

FyroDB

Docker Pulls Rust Docs License

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

→ DB Cache Proxy docs


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