Seperti yang Anda lihat di tipe data Redis, Redis hanya mendukung 5 tipe data ini:
- Tali
- Daftar
- Setel
- Hasil
- Kumpulan yang Diurutkan
Jadi, tidak ada tipe data objek dan karenanya Anda tidak dapat menyimpan objek secara langsung sebagai nilai. Anda harus membuat serialisasi terlebih dahulu (atau encode JSON dengan json_encode
fungsi misalnya).
Apakah ada masalah dengan membuat serial sehingga Anda bersikeras menyimpan objek Anda secara langsung?
Pembaruan: Menurut apa yang Anda katakan di komentar, Anda dapat menggunakan pendekatan yang ditunjukkan dalam jawaban ini
Jadi Anda dapat menggunakan:
$xml = $simpleXmlElem->asXML();
sebelum serialisasi, dan kemudian setelah unserialize()
, gunakan kode berikut:
$simpleXmlElem = simplexml_load_string($xml);
Dengan cara ini, Anda tidak perlu membuat serial objek bawaan PHP seperti SimpleXmlElement
langsung dan tidak akan ada masalah.