keyvalue-store — Redis/Valkey, production-grade.
TYPO3 caching framework, sessions, KV storage and distributed locking on Redis or Valkey. With Sentinel support, TLS/mTLS encryption and PHPRedis 6.3+. Works from TYPO3 11.5 to 14.0 — same extension, same configuration.
TYPO3 caching is standard — but really production-ready?
With keyvalue-store
- TYPO3 caching framework backends for pages, hash, RootlinePath, ImageSizes, etc.
- Session storage in Redis/Valkey with replication awareness
- Distributed locking across all nodes
- Sentinel support out of the box
- TLS and mTLS as a configuration option
Until now
- Standard Redis backend without Sentinel awareness
- Sessions in the database — unnecessary load
- Locking as file lock or DB lock — not cluster-capable
- TLS/mTLS configuration as custom hack
Four building blocks
Sentinel & mTLS
Sentinel discovery enables automatic failover. mTLS configuration for encrypted inter-service communication in container setups.
Distributed locking
Redlock implementation for distributed locks — e.g. for scheduler tasks or workflow steps that should run only once cluster-wide.
Session storage
Frontend and backend sessions in Redis/Valkey — takes load off the database and makes multi-node setups seamless.
Caching backends
Drop-in backends for all TYPO3 caching framework caches: pages, hash, RootlinePath, ImageSizes — including tag-based flushing.
Architecture and requirements
Classes/
├── Cache/ # TYPO3 caching framework backends
├── Connection/ # Redis connection management, Sentinel, TLS
├── Locking/ # Distributed locking strategy
└── Session/ # Session storage backends
Requirements
- PHP 8.2+
- TYPO3 11.5, 12.4, 13.4 or 14.0
ext-redis>= 6.3 (PHPRedis extension)- Redis or Valkey server
Configuration
We recommend configuring through moselwal/typo3-config — it integrates seamlessly. Manual configuration via config/config.php is also possible:
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['my_cache'] = [
'backend' => \Moselwal\KeyvalueStore\Cache\RedisBackend::class,
'options' => [
'hostname' => 'redis',
'port' => 6379,
'database' => 3,
],
];
TLS/mTLS
For encrypted connections, supply certificate paths or use auto-discovery from /run/tls/.
Dependencies
| Package | Type | Purpose |
|---|---|---|
ext-redis (>= 6.3) | Required | PHPRedis extension |
moselwal/dev | Dev | Shared QA tooling |
Source code & docs
TYPO3 Extension Repository
Not in the official TER — install via Composer only.
GitLab (source of truth)
Primary repository including CI/CD and Composer package registry.
Cluster setup or migration from the standard backend?
For migration from the standard Redis backend, Sentinel setup or mTLS configuration in production, we are happy to support you as a service.
Oder direkt schreiben: kontakt@moselwal.de