如何壓縮 Python 物件,以便在將其儲存到快取之前?
有時在將 Python 物件(列表、字典、字串等)儲存到快取前,我們需要對其進行壓縮,並在從快取中讀取後進行解壓縮。
首先,我們需要確定是否需要壓縮這些物件。我們應該檢查資料結構/物件是否太大,無法以未壓縮的形式放入快取。壓縮/解壓縮本身會產生一些開銷,我們必須權衡其與快取本身帶來的好處。
如果我們確實需要壓縮,那麼我們可能會使用 zlib。
如果我們準備使用 zlib,我們可能會想要嘗試在 compress 方法中提供的不同壓縮級別,以平衡 CPU 時間和壓縮級別
zlib.compress(string[, level])
壓縮 string 中的資料,返回一個包含已壓縮資料的字串。level 是控制壓縮級別的 1 到 9 之間的整數;1 表示最快,產生的壓縮比最低,9 表示最慢,產生的壓縮比最高。預設值為 6。如果出現任何錯誤,會引發 error 異常。
廣告