Như bạn có thể thấy trong các kiểu dữ liệu Redis, Redis chỉ hỗ trợ 5 kiểu dữ liệu sau:
- Chuỗi
- Danh sách
- Đặt
- Băm
- Tập hợp đã Sắp xếp
Vì vậy, không có kiểu dữ liệu đối tượng và do đó bạn không thể lưu trữ một đối tượng trực tiếp dưới dạng giá trị. Bạn phải tuần tự hóa nó trước (hoặc mã hóa JSON bằng json_encode
chức năng chẳng hạn).
Có vấn đề gì với việc tuần tự hóa mà bạn nhất quyết phải lưu trữ trực tiếp các đối tượng của mình không?
Cập nhật: Theo những gì bạn đã nói trong phần nhận xét, bạn có thể sử dụng cách tiếp cận được chỉ ra trong câu trả lời này
Vì vậy, bạn có thể sử dụng:
$xml = $simpleXmlElem->asXML();
trước khi tuần tự hóa, và sau đó sau unserialize()
, sử dụng mã sau:
$simpleXmlElem = simplexml_load_string($xml);
Bằng cách này, bạn không cần phải tuần tự hóa một đối tượng tích hợp sẵn trong PHP như SimpleXmlElement
trực tiếp và sẽ không có vấn đề gì.