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.

Installation: composer require moselwal/keyvalue-store

TYPO3: 11.5 – 14.0 · PHP: 8.2+ · Erforderlich: ext-redis (>= 6.3)

Composer-Repository unter gitlab.moselwal.io einbinden, dann composer require moselwal/keyvalue-store. Konfiguration über moselwal/typo3-config oder klassisch in der LocalConfiguration.

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 — Installation ausschließlich über Composer.

Composer-Package

moselwal/keyvalue-store via Moselwal-Composer-Repo.

Composer-Repo öffnen

GitLab (Source of Truth)

Primäres Repository inkl. CI/CD und Composer-Package-Registry.

gitlab.moselwal.io

GitHub

Mirror auf GitHub (Platzhalter — vor Publish verifizieren).

github.com/moselwal/keyvalue-store
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