Skip to content

Latest commit

 

History

History
200 lines (150 loc) · 19.6 KB

File metadata and controls

200 lines (150 loc) · 19.6 KB
graph LR
    Valkey_Client_Core["Valkey Client Core"]
    Valkey_Cluster_Sentinel_Clients["Valkey Cluster & Sentinel Clients"]
    Connection_Pooling["Connection & Pooling"]
    Valkey_Command_Interfaces["Valkey Command Interfaces"]
    Protocol_Data_Serialization["Protocol & Data Serialization"]
    Resilience_Error_Handling["Resilience & Error Handling"]
    Distributed_Locking["Distributed Locking"]
    Security_Performance_Enhancements["Security & Performance Enhancements"]
    Development_Testing_Utilities["Development & Testing Utilities"]
    Valkey_Client_Core -- "uses" --> Connection_Pooling
    Valkey_Client_Core -- "uses" --> Protocol_Data_Serialization
    Valkey_Client_Core -- "executes" --> Valkey_Command_Interfaces
    Valkey_Client_Core -- "uses" --> Distributed_Locking
    Valkey_Client_Core -- "interacts with" --> Resilience_Error_Handling
    Valkey_Client_Core -- "uses" --> Security_Performance_Enhancements
    Valkey_Cluster_Sentinel_Clients -- "uses" --> Connection_Pooling
    Valkey_Cluster_Sentinel_Clients -- "uses" --> Protocol_Data_Serialization
    Valkey_Cluster_Sentinel_Clients -- "executes" --> Valkey_Command_Interfaces
    Valkey_Cluster_Sentinel_Clients -- "interacts with" --> Resilience_Error_Handling
    Valkey_Cluster_Sentinel_Clients -- "uses" --> Security_Performance_Enhancements
    Connection_Pooling -- "uses" --> Protocol_Data_Serialization
    Connection_Pooling -- "uses" --> Security_Performance_Enhancements
    Connection_Pooling -- "interacts with" --> Resilience_Error_Handling
    Valkey_Command_Interfaces -- "are executed by" --> Valkey_Client_Core
    Valkey_Command_Interfaces -- "are executed by" --> Valkey_Cluster_Sentinel_Clients
    Protocol_Data_Serialization -- "depends on" --> Resilience_Error_Handling
    Distributed_Locking -- "depends on" --> Valkey_Client_Core
    Security_Performance_Enhancements -- "is used by" --> Connection_Pooling
    Security_Performance_Enhancements -- "is used by" --> Valkey_Client_Core
    Development_Testing_Utilities -- "interacts with" --> Valkey_Client_Core
    Development_Testing_Utilities -- "interacts with" --> Valkey_Cluster_Sentinel_Clients
    click Valkey_Client_Core href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/valkey-py/Valkey Client Core.md" "Details"
    click Valkey_Cluster_Sentinel_Clients href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/valkey-py/Valkey Cluster & Sentinel Clients.md" "Details"
    click Connection_Pooling href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/valkey-py/Connection & Pooling.md" "Details"
    click Valkey_Command_Interfaces href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/valkey-py/Valkey Command Interfaces.md" "Details"
    click Protocol_Data_Serialization href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/valkey-py/Protocol & Data Serialization.md" "Details"
    click Resilience_Error_Handling href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/valkey-py/Resilience & Error Handling.md" "Details"
    click Distributed_Locking href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/valkey-py/Distributed Locking.md" "Details"
    click Security_Performance_Enhancements href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/valkey-py/Security & Performance Enhancements.md" "Details"
    click Development_Testing_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/valkey-py/Development & Testing Utilities.md" "Details"
Loading

CodeBoardingDemoContact

Component Details

The valkey-py library provides a comprehensive client for interacting with Valkey, supporting both synchronous and asynchronous operations, as well as specialized clients for Valkey Cluster and Sentinel environments. Its core functionality revolves around managing connections, encoding/decoding Valkey protocols, and exposing a rich set of Valkey commands, while also incorporating features for resilience, distributed locking, and performance optimization.

Valkey Client Core

Provides the fundamental synchronous and asynchronous interfaces for interacting with Valkey, including basic commands, pipelining, PubSub, and monitoring. It serves as the primary entry point for most Valkey operations.

Related Classes/Methods:

Valkey Cluster & Sentinel Clients

Manages connections and operations for both synchronous and asynchronous clients within Valkey Cluster and Sentinel environments, handling node discovery, slot mapping, failover, and intelligent command routing.

Related Classes/Methods:

Connection & Pooling

Manages the underlying synchronous and asynchronous network connections to Valkey servers, including connection pooling, SSL/TLS encryption, Unix domain socket support, and health checks.

Related Classes/Methods:

Valkey Command Interfaces

Implements the various standard Valkey commands and interfaces for interacting with Valkey modules (e.g., JSON, Search, TimeSeries, Probabilistic Data Structures, Graph). These classes provide the methods for interacting with Valkey data structures and extended functionalities.

Related Classes/Methods:

Protocol & Data Serialization

Responsible for encoding commands into the Valkey protocol format (RESP2, RESP3) and decoding responses received from the Valkey server. It also handles low-level socket buffer operations and URL parsing for connection strings.

Related Classes/Methods:

Resilience & Error Handling

Provides mechanisms for retrying failed operations with configurable backoff strategies and defines custom exception classes for various error conditions, ensuring robust and structured error management.

Related Classes/Methods:

Distributed Locking

Implements distributed locking mechanisms for managing concurrent access to resources across multiple clients, ensuring atomicity and consistency in a distributed environment.

Related Classes/Methods:

Security & Performance Enhancements

Handles Online Certificate Status Protocol (OCSP) verification for SSL/TLS connections to ensure certificate validity and implements a local cache for frequently accessed data to reduce network round trips and improve performance.

Related Classes/Methods:

Development & Testing Utilities

Contains scripts and modules for benchmarking the performance of Valkey operations and defines high-level development tasks such as environment setup, linting, and test execution.

Related Classes/Methods: