diff --git a/src/Globals/global_functions.php b/src/Globals/global_functions.php index fd4bffdc..4aae2295 100644 --- a/src/Globals/global_functions.php +++ b/src/Globals/global_functions.php @@ -15,6 +15,7 @@ use ZM\Store\Database\DBException; use ZM\Store\Database\DBQueryBuilder; use ZM\Store\Database\DBWrapper; use ZM\Store\KV\KVInterface; +use ZM\Store\KV\Redis\RedisWrapper; // 防止重复引用引发报错 if (function_exists('zm_internal_errcode')) { @@ -216,6 +217,17 @@ function sql_builder(string $name = ''): DBQueryBuilder return (new DBWrapper($name))->createQueryBuilder(); } +/** + * 获取 Redis 操作类 + * + * @param string $name 使用的 Redis 连接名称 + * @return RedisWrapper + */ +function redis(string $name = 'default'): RedisWrapper +{ + return new RedisWrapper($name); +} + /** * 获取 / 设置配置项 * diff --git a/src/ZM/Store/KV/Redis/RedisWrapper.php b/src/ZM/Store/KV/Redis/RedisWrapper.php new file mode 100644 index 00000000..9a55ce93 --- /dev/null +++ b/src/ZM/Store/KV/Redis/RedisWrapper.php @@ -0,0 +1,258 @@ +pool)->get(); + if (method_exists($pool, $name)) { + $result = $pool->{$name}(...$arguments); + } + RedisPool::pool($this->pool)->put($pool); + return $result ?? false; + } +}