keyvalue-store — Redis/Valkey, production-grade.
TYPO3-Caching-Framework, Sessions, KV-Storage und distributed Locking auf Redis oder Valkey. Mit Sentinel-Support, TLS/mTLS-Verschlüsselung und PHPRedis 6.3+. Funktioniert von TYPO3 11.5 bis 14.0 — dieselbe Extension, dieselbe Konfiguration.
TYPO3-Caching ist Standard — aber wirklich production-ready?
Mit keyvalue-store
- TYPO3-Caching-Framework-Backends für Pages, Hash, RootlinePath, Imagesizes etc.
- Session-Storage in Redis/Valkey mit Replication-Awareness
- Distributed Locking über alle Nodes
- Sentinel-Support out of the box
- TLS und mTLS als Konfigurationsoption
Bisher
- Standard-Redis-Backend ohne Sentinel-Awareness
- Sessions in Datenbank — unnötige Last
- Locking als File-Lock oder DB-Lock — nicht clusterfähig
- TLS/mTLS-Konfiguration als Custom-Bastelei
Vier Bausteine
Sentinel & mTLS
Sentinel-Discovery aktiviert automatisches Failover. mTLS-Konfiguration für verschlüsselte Inter-Service-Kommunikation in Container-Setups.
Distributed Locking
Redlock-Implementierung für verteilte Locks — z.B. für Scheduler-Tasks oder Workflow-Steps, die Cluster-weit nur einmal laufen sollen.
Session-Storage
Frontend- und Backend-Sessions in Redis/Valkey — entlastet die Datenbank und macht Multi-Node-Setups nahtlos.
Caching-Backends
Drop-in-Backends für alle TYPO3-Caching-Framework-Caches: Pages, Hash, RootlinePath, Imagesizes — inklusive Tag-basiertem Flushing.
Architektur & Voraussetzungen
Classes/
├── Cache/ # TYPO3-Caching-Framework-Backends
├── Connection/ # Redis-Connection-Management, Sentinel, TLS
├── Locking/ # Distributed-Locking-Strategy
└── Session/ # Session-Storage-Backends
Voraussetzungen
- PHP 8.2+
- TYPO3 11.5, 12.4, 13.4 oder 14.0
ext-redis>= 6.3 (PHPRedis-Extension)- Redis- oder Valkey-Server
Konfiguration
Wir empfehlen die Konfiguration über moselwal/typo3-config — das integriert sich nahtlos. Manuell geht das auch über config/config.php:
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['my_cache'] = [
'backend' => \Moselwal\KeyvalueStore\Cache\RedisBackend::class,
'options' => [
'hostname' => 'redis',
'port' => 6379,
'database' => 3,
],
];
TLS/mTLS
Für verschlüsselte Verbindungen geben Sie Zertifikatspfade an oder nutzen Auto-Discovery aus /run/tls/.
Abhängigkeiten
| Paket | Typ | Zweck |
|---|---|---|
ext-redis (>= 6.3) | Required | PHPRedis-Extension |
moselwal/dev | Dev | Geteiltes QA-Tooling |
Quellcode & Doku
TYPO3 Extension Repository
Nicht im offiziellen TER — Installation ausschließlich über Composer.
GitLab (Source of Truth)
Primäres Repository inkl. CI/CD und Composer-Package-Registry.
Cluster-Setup oder Migration vom Standard-Backend?
Für Migration vom Standard-Redis-Backend, Sentinel-Setup oder mTLS-Konfiguration in Production unterstützen wir gerne als Service.
Oder direkt schreiben: kontakt@moselwal.de