Mattschwarzer Schubladen-Block mit acht identischen Fächern und Brass-Schildern, eines leicht aufgezogen, weiches Tageslicht.
Extension · moselwal/keyvalue-store

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.

Das Problem

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.

Verfügbarkeit: Coming soon — öffentliche Veröffentlichung in Vorbereitung

Die öffentliche Bereitstellung als Composer-Paket wird derzeit vorbereitet. Wenn Sie den Baustein bereits in Ihrer TYPO3-Plattform einsetzen möchten, sprechen Sie uns über das Kontaktformular an — wir liefern aktuell im Rahmen von Plattform-Engagements aus.

Architektur & Voraussetzungen

Classes/
├── Cache/           # TYPO3-Caching-Framework-Backends
├── Connection/      # Redis-Connection-Management, Sentinel, TLS
├── Locking/         # Distributed-Locking-Strategy
└── Session/         # Session-Storage-Backends

 

Voraussetzungen

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

PaketTypZweck
ext-redis (>= 6.3)RequiredPHPRedis-Extension
moselwal/devDevGeteiltes QA-Tooling

Quellcode & Doku

TYPO3 Extension Repository

Nicht im offiziellen TER — die öffentliche Distribution über Composer wird vorbereitet (coming soon).

Composer-Package

Veröffentlichung als moselwal/keyvalue-store in Vorbereitung. Coming soon.

Repository

Quellcode und Issue-Tracker werden mit der öffentlichen Veröffentlichung freigeschaltet. Coming soon.

Mirror

Öffentlicher Mirror und Pull-Request-Workflow folgen mit der Veröffentlichung. Coming soon.

Nächster Schritt

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.

Cluster-Setup besprechen

Oder direkt schreiben: kontakt@moselwal.de

Setzen wir ein bei …

Dieses Paket trägt die Cache- und Session-Schicht in TYPO3 Kubernetes — ohne zentralen Cache-Store läuft kein Multi-Pod-Setup sauber. In der betreuten Variante läuft es als Teil unseres AI-Ready CMS as a Service.