Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:LMCache LMCache Redis Adapter

From Leeroopedia
Revision as of 15:25, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/LMCache_LMCache_Redis_Adapter.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Knowledge Sources
Domains Storage Backend, Redis Integration
Last Updated 2026-02-09 00:00 GMT

Overview

The Redis adapter module provides three ConnectorAdapter implementations for Redis standalone, Redis Sentinel, and Redis Cluster deployments.

Description

This module defines three adapter classes: RedisConnectorAdapter handles standalone Redis, Rediss (SSL), and Unix socket URLs; RedisSentinelConnectorAdapter parses sentinel URLs with optional authentication and multiple host:port pairs; and RedisClusterConnectorAdapter handles Redis Cluster URLs with multiple nodes. Each adapter lazily imports the corresponding connector class (RedisConnector, RedisSentinelConnector, RedisClusterConnector) to avoid circular dependencies. The Sentinel and Cluster adapters parse username:password authentication from the URL and support comma-separated multi-host configurations.

Usage

Use these adapters when connecting LMCache to Redis for remote KV cache storage. Choose the appropriate URL scheme: redis:// or rediss:// for standalone, redis-sentinel:// for Sentinel-managed deployments, or redis-cluster:// for Redis Cluster. The adapters are auto-discovered by the ConnectorManager.

Code Reference

Source Location

Signature

class RedisConnectorAdapter(ConnectorAdapter):
    def __init__(self) -> None: ...
    def can_parse(self, url: str) -> bool: ...
    def create_connector(self, context: ConnectorContext) -> RemoteConnector: ...

class RedisSentinelConnectorAdapter(ConnectorAdapter):
    def __init__(self) -> None: ...
    def create_connector(self, context: ConnectorContext) -> RemoteConnector: ...

class RedisClusterConnectorAdapter(ConnectorAdapter):
    def __init__(self) -> None: ...
    def can_parse(self, url: str) -> bool: ...
    def create_connector(self, context: ConnectorContext) -> RemoteConnector: ...

Import

from lmcache.v1.storage_backend.connector.redis_adapter import (
    RedisConnectorAdapter,
    RedisSentinelConnectorAdapter,
    RedisClusterConnectorAdapter,
)

I/O Contract

Inputs

Name Type Required Description
context ConnectorContext Yes Contains the Redis URL, event loop, local CPU backend, and config
context.url str Yes Redis connection URL (e.g., redis://localhost:6379, redis-sentinel://user:pass@host1:26379,host2:26379/mymaster, redis-cluster://host1:7000,host2:7001)

Outputs

Name Type Description
create_connector return RemoteConnector A RedisConnector, RedisSentinelConnector, or RedisClusterConnector instance depending on the URL scheme

Usage Examples

# Standalone Redis
from lmcache.v1.storage_backend.connector import CreateConnector

connector = CreateConnector(
    url="redis://localhost:6379",
    loop=event_loop,
    local_cpu_backend=cpu_backend,
    config=config,
    metadata=metadata,
)

# Redis Sentinel with authentication
connector = CreateConnector(
    url="redis-sentinel://user:password@sentinel1:26379,sentinel2:26379/mymaster",
    loop=event_loop,
    local_cpu_backend=cpu_backend,
    config=config,
    metadata=metadata,
)

# Redis Cluster
connector = CreateConnector(
    url="redis-cluster://node1:7000,node2:7001",
    loop=event_loop,
    local_cpu_backend=cpu_backend,
    config=config,
    metadata=metadata,
)

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment