Redis
 sql >> Baza danych >  >> NoSQL >> Redis

php-redis - Czy istnieje sposób na przechowywanie obiektu PHP w Redis bez jego serializacji?

Jak widać w typach danych Redis, Redis obsługuje tylko te 5 typów danych:

  • Ciąg
  • Lista
  • Ustaw
  • Hasz
  • Posortowany zestaw

Tak więc nie ma obiektowego typu danych i dlatego nie możesz przechowywać obiektu bezpośrednio jako wartości. Musisz go najpierw serializować (lub zakodować w JSON za pomocą json_encode funkcji na przykład).

Czy jest jakiś problem z serializacją, że nalegasz na bezpośrednie przechowywanie swoich obiektów?

Aktualizacja: Zgodnie z tym, co powiedziałeś w komentarzach, możesz zastosować podejście wskazane w tej odpowiedzi

Możesz więc użyć:

$xml = $simpleXmlElem->asXML();

przed serializacją, a następnie po unserialize() , użyj następującego kodu:

$simpleXmlElem = simplexml_load_string($xml);

W ten sposób nie musisz serializować wbudowanego obiektu PHP, takiego jak SimpleXmlElement bezpośrednio i nie będzie żadnych problemów.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Co to jest tcp-backlog w redis.conf

  2. Czy jest jakiś klient Redis (preferowany Java), który obsługuje transakcje w klastrze Redis?

  3. Używanie nginx do obsługi treści bezpośrednio z pamięci podręcznej redis

  4. Obszar powiadomień i wiadomości za pomocą Redis

  5. Dopasowanie skanowania Redis