Zoals u kunt zien in Redis-gegevenstypen, ondersteunt Redis alleen deze 5 gegevenstypen:
- String
- Lijst
- Instellen
- Hash
- Gesorteerde set
Er is dus geen object datatype en daarom kunt u een object niet direct als waarde opslaan. Je moet het eerst serialiseren (of JSON-encoderen met de json_encode
functie bijvoorbeeld).
Is er een probleem met serialisatie dat u erop staat uw objecten direct op te slaan?
Bijwerken: Volgens wat je in de opmerkingen hebt gezegd, kun je de aanpak gebruiken die in dit antwoord wordt aangegeven
U kunt dus het volgende gebruiken:
$xml = $simpleXmlElem->asXML();
vóór serialisatie, en dan na unserialize()
, gebruik de volgende code:
$simpleXmlElem = simplexml_load_string($xml);
Op deze manier hoeft u een ingebouwd PHP-object zoals SimpleXmlElement
niet te serialiseren direct en er zullen geen problemen zijn.