Redis Cache

Redis-Caching-Layer für Payload v3, der den Datenbankadapter umschließt und Lese- sowie Schreiboperationen abfängt.

Community 15 49/Wo. MIT v0.2.17

Installation

pnpm add payloadcms-redis-plugin

Über

Das Plugin legt einen Redis-Caching-Layer über den bestehenden Datenbankadapter von Payload v3. Es fängt Leseoperationen wie find, findOne, count, countVersions, countGlobalVersions, findGlobal, findGlobalVersions und queryDrafts ab und fragt zuerst Redis ab, bevor die Datenbank abgefragt wird. Bei einem Cache-Miss wird das Ergebnis mit einer TTL gespeichert. Schreiboperationen, darunter create, createMany, updateOne, updateMany, deleteOne, deleteMany, upsert, updateGlobal und deleteVersions, invalidieren die betroffenen Cache-Einträge, nachdem der Schreibvorgang in der Datenbank abgeschlossen ist. Die Integration erfolgt über das Plugin-System von Payload. In config.onInit stellt das Plugin die Redis-Verbindung her, pingt die Instanz und ersetzt payload.db durch den dekorierten Adapter. Als Client wird ioredis verwendet. Die Verbindung kann entweder über eine URL (redis.url) oder eine bestehende ioredis-Client-Instanz (redis.client) übergeben werden. Das Caching ist per Collection oder Global opt-in. Jedes Ziel akzeptiert eine TTL (Standard 300 Sekunden), einen Skip-Flag und einen eigenen Cache-Key. Auf Anfrageebene lassen sich diese Werte über req.context.cache überschreiben, mit den Feldern skip, ttl, key und tags. Der Standard-Cache-Key wird aus slug, Operation, Locale und where-Klauseln gebildet und mit MD5 gehasht. Mit der Option generateKey lässt sich die Erzeugung vollständig ersetzen. Die Invalidierung nutzt Mustervergleiche über redis.keys(), was bei großen Keyspaces in Produktion problematisch sein kann. Cache-Fehler werden still ignoriert, sodass ein Redis-Ausfall keine Datenbankabfrage blockiert. Im Debug-Modus protokolliert das Plugin Hits, Misses und Invalidierungen. Peer-Dependency ist payload ab Version 3.37.0, zur Laufzeit wird ioredis ab 5.8.2 benötigt.

Paketinformationen

Paketname
payloadcms-redis-plugin
Neueste Version
0.2.17
Entpackte Größe
88 kB
Lizenz
MIT
Wöchentliche Downloads
49
Zuletzt veröffentlicht
31. Okt. 2025

Ähnliche Plugins

Mehr in Cache