PHPackages                             superpms/program-redis - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. superpms/program-redis

ActiveLibrary[Caching](/categories/caching)

superpms/program-redis
======================

pms redis program

v1.0.x-dev(2mo ago)0361Apache-2.0PHPPHP &gt;=8.1

Since May 21Pushed 2mo agoCompare

[ Source](https://github.com/superpms/program-redis)[ Packagist](https://packagist.org/packages/superpms/program-redis)[ RSS](/packages/superpms-program-redis/feed)WikiDiscussions v1.0 Synced 1w ago

READMEChangelogDependencies (2)Versions (1)Used By (1)

superpms/program-redis
======================

[](#superpmsprogram-redis)

`program-redis` 是 PMS composer 体系里的 Redis program 包。它把项目级 `config('redis')` 接入 `pms\facade\RDb`，提供普通 Redis 连接、Swoole HTTP 连接池、常用 Redis helper、简单 Redis list 队列基类，以及阻塞订阅场景需要的连接隔离能力。

安装与挂载
-----

[](#安装与挂载)

```
composer require superpms/program-redis
```

包通过 `composer.json` 的 `autoload.files` 自动执行 `bin/autoload.php`。该入口会加载:

- `bin/helper.php`: 提供 `prdb_pool_autoclose()`
- `bin/autorun.php`: 挂载生命周期 hook

运行期接入顺序:

1. `LIFECYCLE_BOOT` 读取 `config('redis')` 并调用 `RDb::setConfig()`
2. Swoole 环境下，HTTP 生命周期启动时调用 `RDb::isPool(true)`
3. Swoole HTTP sandbox 销毁时调用 `prdb_pool_autoclose()` 归还连接池连接

快速使用
----

[](#快速使用)

```
use pms\facade\RDb;

RDb::set('cache:user:1', json_encode(['name' => 'Tom'], 320), 300);
$json = RDb::get('cache:user:1', '{}');

RDb::lock('order:pay:1001', 60, 10);
try {
    // critical section
} finally {
    RDb::unlock('order:pay:1001');
}
```

简单队列可以继承 `pms\RedisQueue`:

```
use pms\RedisQueue;

class MailWork extends RedisQueue {}

MailWork::rPush(json_encode(['to' => 'user@example.com'], 320));
$payload = MailWork::lPop();
```

主要模块
----

[](#主要模块)

- `pms\facade\RDb`: Redis facade，代理到 `pms\program\redis\Driver`
- `pms\program\redis\Driver`: 配置、连接实例、连接器切换和事件注册入口
- `pms\program\redis\RedisConfig`: 单个连接的配置值对象
- `pms\program\redis\connector\Redis`: 普通 ext-redis 连接器
- `pms\program\redis\connector\RedisPool`: Swoole `ConnectionPool` 连接器
- `pms\program\redis\builder\Redis`: 常用 Redis 操作封装和原生方法透传
- `pms\RedisQueue`: 基于 Redis list 的极简队列基类

Docs 导航
-------

[](#docs-导航)

- [文档入口](docs/00-index.md)
- [安装与配置](docs/guide/setup.md)
- [典型用法](docs/guide/usage.md)
- [公开 API](docs/reference/api.md)
- [配置项](docs/reference/configuration.md)
- [运行流程与连接池](docs/internals/runtime-and-pool.md)
- [队列与发布订阅](docs/internals/queue-and-subscribe.md)
- [异常、限制与排查](docs/operations/troubleshooting.md)

注意事项
----

[](#注意事项)

- 本包没有自带 `resource/config.php`，真实配置由项目侧 `config('redis')` 提供。
- `type` 当前真实支持值是 `redis`；Swoole 池化由运行期开关切换为 `redis-pool`，不是在配置里直接写池化类。
- `RedisConfig` 的部分属性是有类型且无默认值的，项目配置必须提供 `host`、`port`、`connect_timeout`、`retry_interval`、`read_timeout`、`retry_times`、`password` 等被读取字段。
- `subscribe()` 是阻塞调用，会隔离当前连接并把 Redis prefix 临时清空；业务侧应避免在同一流程里混用长阻塞订阅和普通短命令。

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance83

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

88d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/be4f8ca688945fc17bb53deca1a956f72abfef2bd156e542bf899b0d2b15c08d?d=identicon)[xiyiao](/maintainers/xiyiao)

---

Top Contributors

[![XiyiaoBoss](https://avatars.githubusercontent.com/u/170755009?v=4)](https://github.com/XiyiaoBoss "XiyiaoBoss (18 commits)")

### Embed Badge

![Health badge](/badges/superpms-program-redis/health.svg)

```
[![Health](https://phpackages.com/badges/superpms-program-redis/health.svg)](https://phpackages.com/packages/superpms-program-redis)
```

###  Alternatives

[iazaran/smart-cache

Smart Cache is a caching optimization package designed to enhance the way your Laravel application handles data caching. It intelligently manages large data sets by compressing, chunking, or applying other optimization strategies to keep your application performant and efficient.

21114.2k](/packages/iazaran-smart-cache)[phpfastcache/phpssdb

PHP SSDB Driver for phpFastCache

14736.9k1](/packages/phpfastcache-phpssdb)[rapidwebltd/rw-file-cache

RW File Cache is a PHP File-based Caching Library. Its syntax is designed to closely resemble the PHP memcache extension.

15196.8k7](/packages/rapidwebltd-rw-file-cache)[yuzuru-s/redis-recommend

Wrapping Redis's sorted set APIs for specializing recommending operations.

392.9k](/packages/yuzuru-s-redis-recommend)[ichhabrecht/intcache

Turn uncachable page objects into cacheable links

193.9k](/packages/ichhabrecht-intcache)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
