sql >> Database >  >> NoSQL >> Redis

php-redis - Is er een manier om een ​​PHP-object in Redis op te slaan zonder het te serialiseren?

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.



  1. MongoDB-oplossing voor documenten groter dan 16 MB?

  2. node.js-database

  3. $eerst in mongodb

  4. MongoDB $rtrim