sql >> Databasteknik >  >> NoSQL >> Redis

php-redis - Finns det något sätt att lagra PHP-objekt i Redis utan att serialisera det?

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.



  1. Pymongo / MongoDB:skapa index eller säkerställa index?

  2. runCommand-ekvivalent för nodejs-native-mongodb

  3. Hur man använder aggregrate i mongodb till $match _id

  4. Lägg till något slags radnummer till en mongodb aggregatkommando / pipeline