loongs / cache
loong-swoole cache package — file, redis, memory stores
dev-main
2026-09-24 10:31 UTC
Requires
- php: ^8.4
- psr/simple-cache: ^3.0
Requires (Dev)
None
Suggests
- ext-redis: Required for the redis cache driver
- ext-swoole: Required for the optional Swoole\Table driver
- loongs/framework: Integrates with Loongs\Redis\RedisManager when present
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-24 10:35:00 UTC
README
Standalone cache package for loong-swoole (PHP 8.4 + Swoole 6).
Drivers
| Driver | Scope | Notes |
|---|---|---|
file |
shared via filesystem | hashed shards under runtime/cache, atomic write |
redis |
shared via Redis | pooled via Loongs\Redis\RedisManager or a callable runner; clear() uses SCAN |
memory |
per worker | in-process array; optional LRU max_items |
table |
cross-worker | Swoole\Table; fixed size / value length limits |
Usage
use Loongs\Cache\CacheManager; $cache = cache(); // CacheManager cache('greeting', 'hello'); // get with default? → wait: cache('key', default) cache(['user_1' => $dto], 3600); // set $store = cache()->store('redis'); $store->remember('report', 60, fn () => expensive()); $store->add('lock', 1, 10); $store->increment('hits');
PSR-16: Loongs\Cache\Repository implements Psr\SimpleCache\CacheInterface.
Logical keys must not contain {}()/\@: (PSR-16). Prefix (e.g. loong:cache:) is applied by stores.