
随着 Valkey 生态的快速发展,PHP 社区也迎来了官方支持的现代化客户端——Valkey Glide PHP。
Valkey Glide PHP 是 Valkey 官方推出的 GLIDE 项目在 PHP 语言上的绑定实现。它是一个开源的 Valkey / Redis OSS 客户端库,核心使用 Rust 编写(提供高性能和内存安全),再通过 PHP 扩展的形式暴露给开发者使用。
GLIDE(General Language Independent Driver for the Enterprise)是 Valkey 社区为企业级应用设计的多语言客户端家族,目前支持 Java、Python、Node.js、Go 等,PHP 版已于 2026 年 1 月 28 日正式发布 v1.0.0 稳定版。
它的核心目标是:可靠性 + 优化性能 + 高可用,特别适合大规模、分布式 Valkey / Redis 场景,同时尽量保持与经典 phpredis 的 API 兼容,便于现有项目平滑迁移。
Valkey 是一个开源的、高性能的 内存键值存储数据库(in-memory key-value datastore),于 2024 年由 Linux 基金会托管,作为 Redis OSS 的社区友好 fork 而诞生。它基于 Redis 7.2.4 代码,保留 BSD-3 许可,继续保持完全开源。
Valkey 支持多种工作负载,包括:
它提供丰富的数据结构(如字符串、列表、哈希、集合、有序集合、流、地理空间索引等),读写延迟通常在微秒级,支持集群高可用、持久化(RDB + AOF)、多线程优化等特性。
简单来说:Valkey = Redis 的开源延续 + 社区驱动创新,被 AWS ElastiCache、Google Cloud Memorystore、Alibaba Cloud 等巨头广泛支持和托管。
v1.0.0 版本推荐以下几种安装方式(PHP ≥ 8.2 / 8.3,Linux/macOS 环境):
方式一:使用 pie(推荐,来自 Packagist)先安装 pie 工具,然后执行:
1 pie install valkey-io/valkey-glide-php:1.0.0
方式二:通过 PECL 直接安装 release 包
1 pecl install https://github.com/valkey-io/valkey-glide-php/releases/download/v1.0.0/valkey_glide-1.0.0.tgz
安装后在 php.ini 中添加:
1 extension=valkey_glide
方式三:从源码编译(适合开发/定制)需要 Rust、php-dev、protoc 等依赖:
1 2 3 4 5 6 7 git clone --recurse-submodules https://github.com/valkey-io/valkey-glide-php.gitcd valkey-glide-phppython3 utils/patch_proto_and_rust.pycargo build --releasephpize./configure --enable-valkey-glidemake && make install
然后同样启用 extension。
安装完成后验证:
1 php -m | grep valkey_glide
注意:目前不支持 Alpine Linux / musl libc。
Valkey Glide PHP v1.0.0 带来以下核心亮点:
new Redis() / new RedisCluster() 写法,迁移成本极低。相比传统 phpredis,它更及时跟进 Valkey 新版本特性,且在集群场景下更智能、更稳定。
原生 ValkeyGlide 接口(单机)
1 2 3 4 5 6 7 8 <?php$client = new ValkeyGlide();$client->connect(addresses: [['host' => '127.0.0.1', 'port' => 6379]]);$client->set('welcome', 'Hello Valkey Glide PHP v1.0!');echo $client->get('welcome') . PHP_EOL; // 输出: Hello Valkey Glide PHP v1.0!$client->close();
PHPRedis 兼容模式(最推荐迁移)
1 2 3 4 5 6 7 8 9 10 <?phprequire_once 'vendor/valkey-io/valkey-glide-php/phpredis_aliases.php';$redis = new Redis();$redis->connect('127.0.0.1', 6379);$redis->set('key', 'value from glide');echo $redis->get('key') . PHP_EOL;$redis->close();
集群示例(简版)
1 2 3 4 5 6 7 $addresses = [ ['host' => 'localhost', 'port' => 7001], ['host' => 'localhost', 'port' => 7002],];$client = new ValkeyGlideCluster(addresses: $addresses);$client->set('foo', 'bar');echo $client->get('foo');
Valkey Glide PHP v1.0.0 让 PHP 开发者可以用熟悉的代码风格,享受到 Valkey 官方客户端的可靠性和未来扩展能力。无论是新项目还是从 phpredis 迁移,现在都是很好的时机去试用。