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

Redis chậm lấy chuỗi lớn

Redis không được thiết kế để lưu trữ các đối tượng quá lớn. Bạn không được phép lưu trữ toàn bộ bộ sưu tập của mình trong một chuỗi duy nhất trong Redis, mà nên sử dụng danh sách Redis hoặc đặt làm vùng chứa cho các đối tượng của bạn.

Hơn nữa, định dạng dưa chua không được tối ưu hóa cho không gian ... bạn sẽ cần một định dạng nhỏ gọn hơn. Bộ đệm giao thức, MessagePack hoặc thậm chí là JSON đơn giản, có lẽ tốt hơn cho việc này. Bạn nên cân nhắc áp dụng thuật toán nén nhẹ trước khi lưu trữ dữ liệu của mình (như Snappy, LZO, Quicklz, LZF, v.v.).

Cuối cùng, hiệu suất có thể bị ràng buộc mạng. Trên máy tính của tôi, việc lấy một đối tượng 20 MB từ Redis mất 85 mili giây (không phải 3 giây). Bây giờ, nếu tôi chạy thử nghiệm tương tự bằng máy chủ từ xa, mất 1,781 giây, dự kiến ​​trên mạng 100 Mbit / s này. Thời lượng hoàn toàn phụ thuộc vào băng thông mạng.

Điểm cuối cùng:hãy đảm bảo sử dụng phiên bản Redis gần đây - một số tối ưu hóa đã được thực hiện để xử lý các đối tượng lớn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn đa trường trên Redis bằng Redis Spring

  2. Không thể kết nối với máy chủ redis từ vùng chứa docker

  3. MongoDB so với Redis và Cassandra cho giải pháp lưu trữ hàng tạm thời, ghi nhanh

  4. Làm thế nào để triển khai Redis trong CodeIgniter?

  5. Cụm đa máy chủ Node.js:cách chia sẻ đối tượng trong một số cụm nút