Redis
 sql >> Database >  >> NoSQL >> Redis

php-redis - C'è un modo per memorizzare l'oggetto PHP in Redis senza serializzarlo?

Come puoi vedere nei tipi di dati Redis, Redis supporta solo questi 5 tipi di dati:

  • Stringa
  • Elenco
  • Imposta
  • Hash
  • Set ordinato

Quindi, non esiste un tipo di dati dell'oggetto e quindi non sei in grado di memorizzare un oggetto direttamente come valore. Devi prima serializzarlo (o codificarlo in JSON con json_encode funzione per esempio).

C'è qualche problema con la serializzazione che ti ostini a memorizzare direttamente i tuoi oggetti?

Aggiornamento: Secondo quanto hai detto nei commenti, puoi utilizzare l'approccio indicato in questa risposta

Quindi puoi usare:

$xml = $simpleXmlElem->asXML();

prima della serializzazione e poi dopo unserialize() , utilizza il seguente codice:

$simpleXmlElem = simplexml_load_string($xml);

In questo modo, non devi serializzare un oggetto integrato in PHP come SimpleXmlElement direttamente e non ci saranno problemi.