Redis
 sql >> Datenbank >  >> NoSQL >> Redis

php-redis - Gibt es eine Möglichkeit, ein PHP-Objekt in Redis zu speichern, ohne es zu serialisieren?

Wie Sie in Redis-Datentypen sehen können, unterstützt Redis nur diese 5 Datentypen:

  • Zeichenfolge
  • Liste
  • Einstellen
  • Hash
  • Sortierter Satz

Es gibt also keinen Objektdatentyp und daher können Sie ein Objekt nicht direkt als Wert speichern. Sie müssen es zuerst serialisieren (oder mit dem json_encode JSON-kodieren Funktion zum Beispiel).

Gibt es ein Problem mit der Serialisierung, dass Sie darauf bestehen, Ihre Objekte direkt zu speichern?

Aktualisierung: Gemäß Ihren Angaben in den Kommentaren können Sie den in dieser Antwort angegebenen Ansatz verwenden

Sie können also verwenden:

$xml = $simpleXmlElem->asXML();

vor der Serialisierung und dann nach unserialize() , verwenden Sie den folgenden Code:

$simpleXmlElem = simplexml_load_string($xml);

Auf diese Weise müssen Sie ein in PHP integriertes Objekt wie SimpleXmlElement nicht serialisieren direkt und es wird keine Probleme geben.