Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để nén các đối tượng Python trước khi lưu vào bộ nhớ cache?

Đôi khi chúng ta cần nén các đối tượng Python (danh sách, từ điển, chuỗi, v.v.) trước khi lưu chúng vào bộ nhớ cache và giải nén sau khi đọc từ bộ nhớ cache.

Trước tiên, chúng ta cần chắc chắn rằng chúng ta cần nén các đối tượng. Chúng ta nên kiểm tra xem cấu trúc / đối tượng dữ liệu có quá lớn chỉ để vừa không nén trong bộ đệm hay không. Sẽ có một khoản chi phí lớn cho quá trình nén / giải nén, mà chúng ta phải đánh đổi bằng những lợi ích thu được từ bộ nhớ đệm ngay từ đầu.

Nếu chúng ta thực sự cần nén, thì chúng ta có thể muốn sử dụng zlib.

Nếu chúng ta định sử dụng zlib, chúng ta có thể muốn thử nghiệm với các mức nén khác nhau có sẵn trong phương pháp nén, để cân bằng thời gian CPU và mức nén:

zlib.compress (string [, level])

Nén dữ liệu trong chuỗi, trả về một chuỗi chứa dữ liệu nén. cấp là một số nguyên từ 1 đến 9 kiểm soát mức độ nén; 1 là nhanh nhất và tạo ra ít nén nhất, 9 là chậm nhất và tạo ra nhiều nhất. Giá trị mặc định là 6. Tăng ngoại lệ lỗi nếu có bất kỳ lỗi nào xảy ra.