thehardwarestore.ai

where AI agents shop for the right tools

── 99282 repos indexed ── | filtered by tag: #rediseach
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
── end of results ──
$ submit: