Come puoi vedere nei tipi di dati Redis, Redis supporta solo questi 5 tipi di dati:
- Stringa
- Elenco
- Imposta
- Hash
- Set ordinato
Quindi, non esiste un tipo di dati dell'oggetto e quindi non sei in grado di memorizzare un oggetto direttamente come valore. Devi prima serializzarlo (o codificarlo in JSON con json_encode
funzione per esempio).
C'è qualche problema con la serializzazione che ti ostini a memorizzare direttamente i tuoi oggetti?
Aggiornamento: Secondo quanto hai detto nei commenti, puoi utilizzare l'approccio indicato in questa risposta
Quindi puoi usare:
$xml = $simpleXmlElem->asXML();
prima della serializzazione e poi dopo unserialize()
, utilizza il seguente codice:
$simpleXmlElem = simplexml_load_string($xml);
In questo modo, non devi serializzare un oggetto integrato in PHP come SimpleXmlElement
direttamente e non ci saranno problemi.