sql >> Base de Datos >  >> NoSQL >> Redis

php-redis:¿hay alguna forma de almacenar un objeto PHP en Redis sin serializarlo?

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.