Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธี Compress Python Objects ก่อนบันทึกลง Cache

เราบางครั้งต้อง Compress Python Objects (List, Dictionary, String, ฯลฯ) ก่อนบันทึกลง Cache และ Decompress หลังอ่านจาก Cache

ก่อนอื่น ต้องแน่ใจว่าจำเป็นต้อง Compress Objects จริงๆ ควรเช็คว่า Data Structures/Objects ใหญ่เกินไปจนไม่พอเก็บ Uncompressed ใน Cache มี Overhead สำหรับ Compression/Decompression ที่ต้อง Trade-off กับ Gains จาก Caching

ถ้าจำเป็นต้อง Compress จริงๆ อาจจะอยากใช้ zlib

ถ้าจะใช้ zlib อาจลองทดลอง Compression Levels ต่างๆ ใน Method compress เพื่อ Balance CPU Time vs Compression Levels:

zlib.compress(string[, level])

Compress Data ใน String คืนค่า String ที่บีบอัดแล้ว Level เป็น Integer 1-9 ควบคุมระดับการบีบอัด 1 = เร็วที่สุด บีบอัดน้อยสุด 9 = ช้าที่สุด บีบอัดมากสุด Default = 6 ระบุ Error Exception หากมี Error