raxos / cache
Cache clients and utilities.
Requires
- php: >=8.5
- ext-redis: *
- jetbrains/phpstorm-attributes: ^1.2
- raxos/contract: *
- raxos/error: *
- raxos/foundation: *
Requires (Dev)
- pestphp/pest: ^5.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- 3.2.0
- 3.1.0
- 3.0.1
- 3.0.0
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.9.0
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.0
- 1.6.1
- 1.6.0
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2026-10-03 12:06:17 UTC
README
Raxos Cache
A Redis client with typed command wrappers, cached computations and invalidation by tag.
Documentation | Packagist | Raxos
- String, hash, list, set, sorted-set, bitmap, scripting and pub/sub commands.
- Tagged entries that can be invalidated together without scanning the keyspace.
- Tag invalidation in atomic batches of 500 keys.
Installation
Requires PHP 8.5 or later. Enable the redis PHP extension. Composer checks the remaining package and extension dependencies declared in composer.json.
composer require "raxos/cache:^3.2"
Usage
<?php declare(strict_types=1); use Raxos\Cache\Redis\RedisCache; require __DIR__ . '/vendor/autoload.php'; $cache = new RedisCache(prefix: 'catalog:', host: '127.0.0.1', port: 6379); $products = $cache->tags(['products']); $name = $products->remember('name:42', 300, static fn(): string => 'Keyboard'); $products->flush();
This example needs a running Redis server. TTLs are expressed in seconds. The prefix namespaces tagged entries; plain Redis commands use the keys you supply. Redis stores strings, so encode structured values or add serialization in a cache subclass.
Documentation
Testing
Run this library's Pest suite from the Raxos workspace:
git clone --recurse-submodules https://github.com/basmilius/raxos.git
cd raxos
composer install
vendor/bin/pest --testsuite=cache
See Testing Raxos for PHP extensions, integration services and coverage commands. The library's Tests workflow also runs in GitHub Actions.
License
MIT. Copyright (c) 2017 - present Bas Milius.