Como puede ver en los tipos de datos de Redis, Redis solo admite estos 5 tipos de datos:
- Cadena
- Lista
- Establecer
- hachís
- Conjunto ordenado
Por lo tanto, no hay tipo de datos de objeto y, por lo tanto, no puede almacenar un objeto directamente como valor. Primero debe serializarlo (o codificarlo en JSON con json_encode
función por ejemplo).
¿Hay algún problema con la serialización que insiste en almacenar sus objetos directamente?
Actualización: De acuerdo con lo que dijo en los comentarios, puede usar el enfoque indicado en esta respuesta
Así que puedes usar:
$xml = $simpleXmlElem->asXML();
antes de la serialización, y luego después de unserialize()
, utilice el siguiente código:
$simpleXmlElem = simplexml_load_string($xml);
De esta manera, no tiene que serializar un objeto integrado de PHP como SimpleXmlElement
directamente y no habrá problemas.