awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
tokio-rs avatar

tokio-rs/mini-redis

0
View on GitHub↗
4,711 stars·575 forks·Rust·MIT·10 views

Mini Redis

This project is an educational codebase and asynchronous network implementation of a Redis-compatible server and client. It serves as a demonstration of the Tokio asynchronous runtime, providing a networked key-value store and a messaging system.

The project implements the Redis Serialization Protocol to communicate between clients and servers using byte streams. It features a pub-sub messaging system that allows clients to subscribe to named channels and receive real-time updates.

The implementation covers asynchronous network programming, including concurrent TCP connection handling and byte-stream frame parsing. It also includes traffic management through connection limiting and a process for graceful server shutdown.

Features

  • Key-Value - Provides a networked key-value store for sharing data across multiple connected clients.
  • Protocol Implementations - Implements the Redis Serialization Protocol (RESP) for encoding and decoding network messages.
  • Database Wire Protocol Implementations - Implements the Redis wire protocol to enable communication between compatible clients and the server.
  • Key-Value Stores - Provides an asynchronous networked data store for concurrent key-value operations.
  • Shared State Stores - Maintains a central key-value map protected by synchronization primitives for concurrent access.
  • Asynchronous Runtime Demonstrations - Serves as an educational codebase demonstrating concurrent network connection handling using the Tokio runtime.
  • Asynchronous Task Spawning - Handles multiple concurrent TCP connections by spawning individual asynchronous tasks for each incoming request.
  • Redis-Compatible Implementations - Provides a basic implementation of a Redis-compatible server and client for educational purposes.
  • Network Frame Parsing - Parses raw byte streams from network sockets into structured protocol frames.
  • Async Task Spawning - Uses Tokio to spawn asynchronous tasks for handling each incoming network connection concurrently.
  • Asynchronous Network Programming - Demonstrates asynchronous network programming by handling multiple concurrent TCP streams using Tokio.
  • Pub-Sub Subscriptions - Manages pub-sub subscriptions and delivers messages to all clients subscribed to named channels.
  • Pub-Sub Messaging - Provides a pub-sub system that routes messages from publishers to all subscribed clients via named channels.
  • Pub-Sub Systems - Ships a pub-sub messaging system allowing real-time updates via named channel subscriptions.

Star history

Star history chart for tokio-rs/mini-redisStar history chart for tokio-rs/mini-redis

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does tokio-rs/mini-redis do?

This project is an educational codebase and asynchronous network implementation of a Redis-compatible server and client. It serves as a demonstration of the Tokio asynchronous runtime, providing a networked key-value store and a messaging system.

What are the main features of tokio-rs/mini-redis?

The main features of tokio-rs/mini-redis are: Key-Value, Protocol Implementations, Database Wire Protocol Implementations, Key-Value Stores, Shared State Stores, Asynchronous Runtime Demonstrations, Asynchronous Task Spawning, Redis-Compatible Implementations.

What are some open-source alternatives to tokio-rs/mini-redis?

Open-source alternatives to tokio-rs/mini-redis include: olric-data/olric — Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… microsoft/garnet — Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance… redis/redis-py — redis-py is a Python client library for interacting with Redis databases to execute commands and manage key-value… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… gevent/gevent — Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O…

Open-source alternatives to Mini Redis

Similar open-source projects, ranked by how many features they share with Mini Redis.
  • olric-data/olricolric-data avatar

    olric-data/olric

    3,469View on GitHub↗

    Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of servers. It serves as a shared memory system for managing distributed maps, performing atomic operations, and acting as an in-memory data cache. The system provides a distributed locking mechanism for concurrency control and a pub-sub messaging system that broadcasts and routes messages over named channels across the cluster. The platform covers wide-ranging capabilities including cluster management and orchestration, data replication with configurable quorums, and automated

    Gocachedatabasedistributed-cache
    View on GitHub↗3,469
  • tporadowski/redistporadowski avatar

    tporadowski/redis

    9,987View on GitHub↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    View on GitHub↗9,987
  • microsoft/garnetmicrosoft avatar

    microsoft/garnet

    11,885View on GitHub↗

    Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance remote cache store that implements the RESP wire protocol to maintain compatibility with existing Redis clients and libraries. The project is distinguished by a shared-memory architecture that enables parallel request processing across multiple cores for sub-millisecond latency. It features a tiered storage system that automatically offloads colder data from system memory to SSD or cloud storage layers, and includes a specialized vector search database for high-dimensional similar

    C#cachecache-storagecluster
    View on GitHub↗11,885
  • redis/redis-pyredis avatar

    redis/redis-py

    13,566View on GitHub↗

    redis-py is a Python client library for interacting with Redis databases to execute commands and manage key-value data. It serves as a driver for programmatic data manipulation, providing interfaces for Redis command execution and key-value storage. The project includes a dedicated cluster client that handles topology discovery, slot mapping, and request routing across distributed nodes. It further supports high availability through active-active deployment coordination, utilizing health checks and failure detection to trigger automatic failover between instances. The library incorporates ne

    Pythonpythonredisredis-client
    View on GitHub↗13,566
See all 30 alternatives to Mini Redis→