11 Repos
Techniques for grouping multiple database commands into a single network request to reduce round-trip latency.
Distinct from High-Throughput Ingestion Pipelines: Focuses on command batching in a database client rather than general ingestion pipelines or event streaming.
Explore 11 awesome GitHub repositories matching data & databases · Command Pipelining. Refine with filters or upvote what's useful.
ioredis is a performance-focused Redis client for Node.js designed to execute commands and manage data connections. It provides a specialized interface for interacting with standalone servers, sharded clusters, and high-availability setups. The library distinguishes itself with native support for Redis Cluster, featuring automatic slot discovery and network address mapping, and Redis Sentinel for master node discovery and automatic failover. It also includes a dedicated Lua scripting interface that utilizes server-side caching to ensure atomic operations. The project covers a broad set of ca
Optimizes throughput by grouping multiple commands into single network requests to minimize TCP overhead.
ioredis is a performance-focused Redis client for Node.js applications. It provides a comprehensive interface for interacting with Redis servers, including specialized clients for sharded clusters and Sentinel-based high availability environments. The project distinguishes itself through advanced networking and execution capabilities, such as automatic event-loop pipelining to reduce overhead and a system for routing read-write traffic between primary and replica nodes. It also features a dedicated Lua scripting interface that allows server-side scripts to be registered as custom client comma
Queues multiple commands in memory and sends them in a single network round-trip to increase throughput.
redis-py is a Python client library for executing Redis commands and managing in-memory data structures. It provides the necessary components to integrate Python applications with Redis for data storage and retrieval. The project includes a cluster client for monitoring health and managing automatic failover across multiple active-active database replicas. It also features a connection pool manager to maintain reusable socket connections and a dedicated pub/sub client for subscribing to real-time message channels. The library covers broad capability areas including performance optimization t
Supports grouping multiple Redis commands into a single network request to minimize round-trip latency.
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
Groups multiple database commands into a single network request to reduce round-trip latency.
Codis is a distributed proxy system designed for scaling Redis clusters. It provides a sharding proxy that distributes data across multiple instances and a cluster manager to oversee the environment. The system enables horizontal scaling through dynamic resharding, which allows data slots to be migrated between servers without interrupting operations. It supports multi-key atomic operations using hash tags to ensure related keys are routed to the same server. The platform includes a graphical cluster management dashboard for monitoring and administration. It implements high availability prox
Reduces network latency by grouping multiple database commands into a single network request.
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
Groups multiple commands into a single network request to reduce round-trip time and increase throughput.
Redigo is a Redis client library for Go applications, providing the means to execute commands, manage connections, and interact with Redis data stores. The library includes a connection pool manager to maintain a cache of reusable open connections and a pipelining tool that groups multiple commands into a single network round-trip to increase throughput and reduce latency. It also provides an implementation for broadcasting events and receiving real-time messages through Redis communication channels. The project covers broader capability areas including remote scripting for executing logic o
Groups multiple commands into a single network round-trip to increase throughput and reduce latency.
Predis is a PHP library for connecting to and executing commands against Redis and Valkey data stores. It functions as a client for managing data integration, providing dedicated implementations for cluster sharding, pub/sub messaging, and Sentinel-based service discovery. The project distinguishes itself through specialized clients for executing server-side Lua scripts with automated hash caching and a cluster client that supports gossip protocols and key distribution. It also implements a Sentinel client to manage high availability and failover within replicated environments. The library c
Implements command pipelining to group multiple database requests into a single network transmission to reduce latency.
redis-rs ist eine Client-Bibliothek für die Interaktion mit Redis-Datenspeichern unter Verwendung synchroner und asynchroner Rust-Schnittstellen. Sie dient als Treiber für Daten-Caching, Sitzungsverwaltung und allgemeine Datenspeicherung. Die Bibliothek bietet spezialisierte Unterstützung für Redis-Cluster-Umgebungen, einschließlich cluster-bewusstem Node-Routing und verteilter Datenverwaltung. Sie zeichnet sich durch Zero-Copy-Deserialisierung zur Minimierung von Speicherallokationen und ein gemultiplextes Verbindungsmodell aus, das es mehreren gleichzeitigen Anfragen ermöglicht, eine einzige Netzwerkverbindung zu teilen. Das Projekt deckt ein breites Funktionsspektrum ab, einschließlich JSON-Dokumentspeicherung, Befehls-Pipelining mit partieller Fehlerbehandlung und Connection-Pooling. Sichere Konnektivität wird durch TLS-Verschlüsselung und tokenbasierte Authentifizierung via Azure Entra ID gewährleistet. Die Entwicklung wird durch Connection-Mocking für Unit- und Integrationstests unterstützt.
Reduces network latency by grouping multiple Redis commands into a single network round trip.
Dies ist eine Ruby-Client-Bibliothek und ein Protokolltreiber, der verwendet wird, um Ruby-Anwendungen in Redis-Datenbanken zu integrieren. Er fungiert als Kommunikationsschicht, die Protokollversionen verwaltet und eine konsistente Schnittstelle für die Ausführung von Datenbankoperationen bietet. Die Bibliothek unterstützt eine Vielzahl von Deployment-Topologien, einschließlich eigenständiger Instanzen, Redis Sentinel für Hochverfügbarkeit, Master-Discovery und Failover sowie Redis Cluster mit Slot-aware Request-Routing und Node-Discovery. Sie bietet zudem Client-seitiges Sharding unter Verwendung von Consistent Hashing, um Daten über unabhängige Server zu verteilen. Zu den breiten Funktionen gehören atomares Transaktionsmanagement und Lua-Scripting für serverseitige Transformationen sowie die Unterstützung spezialisierter Datentypen wie Geokoordinaten und Streams. Die Performance wird durch Command-Pipelining und native Parsing-Erweiterungen optimiert, während die Sicherheit über SSL/TLS-Verschlüsselung und gegenseitige Zertifikatsauthentifizierung gehandhabt wird. Der Client enthält Tools zur Orchestrierung eigenständiger und Cluster-Datenbanktopologien unter Verwendung von Containern für automatisierte Integrationstests.
Implements command pipelining to send multiple commands in one network round-trip, significantly increasing execution speed.
Rueidis is a high-performance Redis client library for Go that provides a type-safe and asynchronous interface for interacting with Redis servers. It includes a full implementation of the Redis serialization protocol and a dedicated connection manager to handle pooling, multiplexing, and automatic pipelining. The library is distinguished by its support for RDMA connectivity to reduce latency and CPU overhead. It features a distributed lock manager that implements majority-based locking and optimistic concurrency control, as well as client-side caching with invalidation signals to minimize net
Groups concurrent non-blocking commands into a single network request to increase throughput.