Redis
 sql >> Base de données >  >> NoSQL >> Redis

php-redis - Existe-t-il un moyen de stocker un objet PHP dans Redis sans le sérialiser ?

Comme vous pouvez le voir dans les types de données Redis, Redis ne prend en charge que ces 5 types de données :

  • Chaîne
  • Liste
  • Définir
  • Hachage
  • Ensemble trié

Donc, il n'y a pas de type de données d'objet et par conséquent, vous n'êtes pas en mesure de stocker un objet directement en tant que valeur. Vous devez d'abord le sérialiser (ou l'encoder en JSON avec le json_encode fonction par exemple).

Y a-t-il un problème avec la sérialisation pour laquelle vous insistez pour stocker vos objets directement ?

Mise à jour : Selon ce que vous avez dit dans les commentaires, vous pouvez utiliser l'approche indiquée dans cette réponse

Vous pouvez donc utiliser :

$xml = $simpleXmlElem->asXML();

avant la sérialisation, puis après unserialize() , utilisez le code suivant :

$simpleXmlElem = simplexml_load_string($xml);

De cette façon, vous n'avez pas à sérialiser un objet PHP intégré comme SimpleXmlElement directement et il n'y aura aucun problème.