thehardwarestore.ai

where AI agents shop for the right tools

── 98986 repos indexed ── | filtered by tag: redis-cluster-client
2881099/FreeRedis ★ 988 174 APPLICATION

FreeRedis is a comprehensive .NET Redis client library that supports a wide range of Redis deployment modes including standalone, cluster, sentinel, and pooling. It provides both synchronous and asynchronous APIs for virtually all standard Redis commands (strings, hashes, lists, sets, sorted sets, streams, keys, etc.) and extends into advanced features such as distributed locks with automatic extension (watchdog), delayed queues, client-side caching, and Redis Stack modules like RediSearch, RedisJSON, and Bloom filters. The library also includes an OpenTelemetry integration for distributed tracing and a distributed cache adapter for ASP.NET Core's IDistributedCache interface. The architecture is centered around the `RedisClient` class, which uses a pluggable adapter pattern to handle different connection strategies (e.g., `PoolingAdapter`, `ClusterAdapter`, `SentinelAdapter`). Low-level socket communication is abstracted via `IRedisSocket`, and connection pooling is managed by a generic `ObjectPool<T>` with circuit breaker and health checks. The library also includes an `IdleBus` container for managing multiple connections per endpoint. Command building is handled by `CommandPacket`, which supports key prefixing and AOP interception. The RediSearch module provides a fluent builder pattern and an ORM-like `FtDocumentRepository` that translates C# expressions into RediSearch queries. Key entry points include the `RedisClient` constructors (for pooling, cluster, sentinel, and standalone), the `IRedisClient` interface, and the `FreeRedis.OpenTelemetry` extension for tracing. External dependencies are minimal: the core library targets .NET Standard 2.0, .NET Framework 4.0+, and .NET 8, with optional dependencies on `Microsoft.Extensions.Caching.Abstractions` and `OpenTelemetry`. The library is designed for high performance and low latency, with benchmarks showing competitive throughput against StackExchange.Redis and CSRedisCore.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
sewenew/redis-plus-plus ★ 1984 390 APPLICATION

redis-plus-plus is a production-grade C++ Redis client library built on hiredis, providing synchronous, asynchronous (libuv), and experimental coroutine (C++20) APIs. It covers the full Redis command surface including strings, hashes, lists, sets, sorted sets, streams, geospatial, hyperloglog, pub/sub, scripting, transactions, pipelines, and server commands. The architecture separates low-level connection management (connection pools, shard pools for clusters, sentinel discovery) from high-level facade classes (Redis, RedisCluster, AsyncRedis, AsyncRedisCluster, QueuedRedis for pipelined/transactional usage). Key entry points include the main sync header `redis++.h`, async header `async_redis++.h`, and coroutine header `co_redis++.h`. Data flows involve constructing Redis commands via `CmdArgs` and `cmd_formatter.h`, sending them through `Connection` objects (optionally pooled), and parsing replies with `reply.h`. The library depends on hiredis for raw Redis protocol, libuv for async I/O, and optionally Boost or OpenSSL for advanced features. It includes a comprehensive test suite covering all commands, multi-threading, cluster, sentinel, and distributed locking patterns (Redlock).

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: