Valkey#

概述#

Valkey 是一个开源(BSD)高性能键值数据存储,并且是 LMCache 中支持的远程 KV Cache 卸载选项之一。其他一些远程后端包括 MooncakeRedisInfiniStore

先决条件#

要使用此连接器,您需要 valkey-glide 2.0 或更高版本。

# Install Valkey-GLIDE (Minimum 2.0.0 or higher)
$ pip install valkey-glide

配置参考#

支持以下 extra_config 键:

默认

描述

valkey_num_workers

8

每个 GLIDE 客户端连接的工作线程数量。

valkey_mode

"standalone"

"standalone""cluster"。集群模式从种子节点自动发现拓扑。

tls_enable

false

启用 TLS。ElastiCache Serverless 需要此项。

valkey_username

""

认证用户名。

valkey_password

""

认证密码。

valkey_database

数据库 ID(仅在独立模式下使用,在集群模式下被忽略)。

request_timeout

5.0

GLIDE 请求超时时间(以秒为单位)。也用于 Python 端的 Future 超时。

connection_timeout

10.0

初始客户端连接的 GLIDE 连接超时时间(以秒为单位)。

示例配置#

独立模式#

基本 Valkey 配置(独立模式)#

chunk_size: 256
remote_url: "valkey://<your host>:6379"
remote_serde: "naive"
extra_config:
  valkey_username: "Your username"
  valkey_password: "Your password"

带数据库的独立模式 Valkey 配置#

chunk_size: 256
remote_url: "valkey://<your host>:6379"
remote_serde: "naive"
extra_config:
  valkey_username: "Your username"
  valkey_password: "Your password"
  valkey_database: 0

集群模式#

集群模式 Valkey 配置(端点)#

例如,ElastiCache 中的配置端点如下:

<cache-name>.<identifier>.clustercfg.<region>.cache.amazonaws.com

您需要在 <your host> 中添加此 DNS 名称。

chunk_size: 256
remote_url: "valkey://<your host>:6379"
remote_serde: "naive"
extra_config:
  valkey_mode: "cluster"
  valkey_username: "Your username"
  valkey_password: "Your password"

集群模式 Valkey 配置(节点)#

节点直接部署并配置为集群模式,而无需通过 DNS 名称 (CNAME) 连接它们。

在这种情况下,您只需输入多个 IP 主机和端口。

示例:172.0.0.1:7001, 172.0.0.2:7002 ... 172.0.0.6:7006

chunk_size: 256
remote_url: "valkey://<your host 1>:<your port 1>, <your host 2>:<your port 2>, ... <your host N>:<your port N>"
remote_serde: "naive"
extra_config:
  valkey_mode: "cluster"
  valkey_username: "Your username"
  valkey_password: "Your password"

带编号数据库的集群模式 Valkey 配置(Valkey 9.0+ 和 Valkey-GLIDE 2.1+)#

Valkey 连接器支持在使用 DNS 的端点和使用 IP 和端口对的节点方法中使用编号数据库。

chunk_size: 256
remote_url: "valkey://<your host>:6379"
remote_serde: "naive"
extra_config:
  valkey_mode: "cluster"
  valkey_username: "Your username"
  valkey_password: "Your password"
  valkey_database: 1

TLS / ElastiCache Serverless#

ElastiCache Serverless 需要 TLS。设置 tls_enable: true

chunk_size: 256
remote_url: "valkey://<serverless-endpoint>:6379"
remote_serde: "naive"
extra_config:
  valkey_mode: "cluster"
  tls_enable: true
  valkey_num_workers: 32

性能调优#

对于大型模型(例如,70B,TP=8),增加工作线程数量以提高吞吐量:

chunk_size: 256
remote_url: "valkey://<your host>:6379"
remote_serde: "naive"
pre_caching_hash_algorithm: sha256_cbor_64bit  # Required for TP>1
extra_config:
  valkey_mode: "cluster"
  valkey_num_workers: 32