Както можете да видите в типове данни на Redis, Redis поддържа само тези 5 типа данни:
- Стринг
- Списък
- Задаване
- Хеш
- Сортиран набор
Така че няма обектен тип данни и следователно не можете да съхранявате обект директно като стойност. Първо трябва да го сериализирате (или JSON-кодирате с json_encode
функция например).
Има ли някакъв проблем със сериализирането, че настоявате да съхранявате обектите си директно?
Актуализация: Според това, което казахте в коментарите, можете да използвате подхода, посочен в този отговор
Така че можете да използвате:
$xml = $simpleXmlElem->asXML();
преди сериализацията и след това след unserialize()
, използвайте следния код:
$simpleXmlElem = simplexml_load_string($xml);
По този начин не е нужно да сериализирате вграден обект в PHP като SimpleXmlElement
директно и няма да има проблеми.