Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

php-redis - Có cách nào để lưu trữ đối tượng PHP trong Redis mà không cần tuần tự hóa nó không?

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ì.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tạo tập hợp mới từ một phạm vi của Tập hợp đã sắp xếp trong Redis

  2. Đây có phải là một trường hợp sử dụng tốt cho Redis trên API ServiceStack REST không?

  3. Giao dịch và xem sao kê trong Redis

  4. Ví dụ để sử dụng socket.io-redis

  5. Nhóm StackExchange.Redis ConnectionMultiplexer cho các phương thức đồng bộ