Som du kan se i Redis-datatyper stöder Redis endast dessa 5 datatyper:
- Sträng
- Lista
- Ställ in
- Hash
- Sorterad uppsättning
Så det finns ingen objektdatatyp och därför kan du inte lagra ett objekt direkt som ett värde. Du måste serialisera den först (eller JSON-koda den med json_encode
funktion till exempel).
Finns det några problem med att serialisera att du insisterar på att lagra dina objekt direkt?
Uppdatering: Enligt vad du sa i kommentarerna kan du använda det tillvägagångssätt som anges i detta svar
Så du kan använda:
$xml = $simpleXmlElem->asXML();
före serialisering och sedan efter unserialize()
, använd följande kod:
$simpleXmlElem = simplexml_load_string($xml);
På detta sätt behöver du inte serialisera ett inbyggt PHP-objekt som SimpleXmlElement
direkt och det blir inga problem.