Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

php-redis - Existe uma maneira de armazenar o objeto PHP no Redis sem serializá-lo?


Como você pode ver nos tipos de dados do Redis, o Redis suporta apenas estes 5 tipos de dados:
  • Sequência
  • Lista
  • Definir
  • Hash
  • Conjunto ordenado

Portanto, não há tipo de dados de objeto e, portanto, você não pode armazenar um objeto diretamente como um valor. Você precisa serializá-lo primeiro (ou codificá-lo em JSON com o json_encode função, por exemplo).

Existe algum problema com a serialização que você insiste em armazenar seus objetos diretamente?

Atualização: De acordo com o que você disse nos comentários, você pode usar a abordagem indicada nesta resposta

Então você pode usar:
$xml = $simpleXmlElem->asXML();

antes da serialização e depois de unserialize() , use o seguinte código:
$simpleXmlElem = simplexml_load_string($xml);

Dessa forma, você não precisa serializar um objeto interno do PHP como SimpleXmlElement diretamente e não haverá problemas.