Daten in "globale" Session legen?

Hallo, ich suche eine möglichkeit, Daten in eine Art “globale” Shopware-Session, Cache oder Speicher zu legen… jeder Besucher des Shops muss darauf zugreifen können, also geht eine normale Session nicht.

gibt es da etwas?

Kommt darauf an was das für Daten sind…

Grundsätzlich würde ich einfach eine neue Tabelle in der Datenbank erstellen, auf die kannst du dann einfach zugreifen und die benötigten Daten falls nötig an das Frontend(smarty) übergeben.

Hi @PStadtfeld‍,

ich brauche die Daten nicht im Frontend. In die Datenbank möchte ich es eigentlich nicht schreiben, da es sich nur um ein einzelnes Token handelt, welches zeitlich begrenzt gültig ist und für einen API Call nötig ist. Das wäre in einem Cache leichter und auch schneller vom Zugriff her.

jeder Besucher des Shops muss darauf zugreifen können

  ich brauche die Daten nicht im Frontend

Diese Aussage verwundert mich ein wenig. Und was heißt eigentlich globale Shopware-Session? In Shopware ist $_SESSION[‘Shopware’] ja schon vorhanden. In einem Plugin kann man auch mittels Shopware()->Session()  darauf zugreifen.

ich brauche die Daten nicht im Frontend, da sie nur für API Calls da sind, welche ja bekanntlich im Backend passieren. Deshalb brauche ich den Wert immer dann, wenn ein API Call angestoßen wird.

mit „global“ meine ich eine Session, welche nicht an einen bestimmten Browser, Cookie oder User gebunden ist sondern immer und überall für jeden User der die Funktion benutzen möchte, vorhanden ist. Wenn ich das nicht tue, muss ich bei jedem Mal, wo jemand die Funktion benutzt, ein neues Token von der API abholen bevor ich den Call absetzen kann. Das möchte ich vermeiden.

Da ein Token aber immer nur 4 Stunden gültig ist, möchte ich es zentral speichern, bevor ich nach 4 Stunden ein neues holen muss.

Dann bleibt ja nur die Datenbank, was anders geht ja technisch nicht. Vorallem auch schneller beim schreiben und lesen.

Dann schreib es einfach in eine Textdatei die du auf dem Server ablegst und bei Bedarf neu einliest.

apcu, memcached, redis wären (in dieser reihenfolge) meine favoriten dafür