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

จะบีบอัดวัตถุ Python ก่อนบันทึกไปยังแคชได้อย่างไร


บางครั้งเราจำเป็นต้องบีบอัดวัตถุ Python (รายการ พจนานุกรม สตริง ฯลฯ) ก่อนบันทึกลงในแคชและคลายการบีบอัดหลังจากอ่านจากแคช

ประการแรกเราต้องแน่ใจว่าเราต้องบีบอัดวัตถุ เราควรตรวจสอบว่าโครงสร้างข้อมูล/อ็อบเจ็กต์มีขนาดใหญ่เกินไปหรือไม่ที่จะพอดีกับแคชที่ไม่ได้บีบอัด จะมีค่าใช้จ่ายสำหรับการบีบอัด/คลายการบีบอัด ซึ่งเราต้องแลกกับกำไรที่ได้จากการแคชตั้งแต่แรก

หากเราต้องการการบีบอัดจริงๆ เราอาจต้องการใช้ zlib

หากเราจะใช้ zlib เราอาจต้องการทดสอบกับระดับการบีบอัดต่างๆ ที่มีอยู่ในวิธีการบีบอัด เพื่อให้สมดุลระหว่างเวลาของ CPU กับระดับการบีบอัด:

zlib.compress(สตริง[, ระดับ])

บีบอัดข้อมูลในสตริง ส่งคืนสตริงที่มีข้อมูลที่บีบอัด ระดับเป็นจำนวนเต็มตั้งแต่ 1 ถึง 9 ควบคุมระดับการบีบอัด 1 เร็วที่สุดและสร้างการบีบอัดน้อยที่สุด 9 ช้าที่สุดและสร้างมากที่สุด ค่าเริ่มต้นคือ 6 เพิ่มข้อยกเว้นข้อผิดพลาดหากมีข้อผิดพลาดเกิดขึ้น