Python快取神奇庫cacheout全解
python的快取庫(cacheout)
連結:
專案: https://github.com/dgilland/cacheout
文件地址: https://cacheout.readthedocs.io
PyPI(下載連結): https://pypi.python.org/pypi/cacheout/
TravisCI(下載連結): https://travis-ci.org/dgilland/cacheout
特性:
後端使用字典進行快取
使用快取管理輕鬆訪問多個快取物件
當使用模組級快取物件,重構執行時的快取設定
最大快取大小限制
預設的快取時間設定以及快取項自定義存活時間
批量的設定、獲取、刪除操作
執行緒安全
多種快取機制的實現:
FIFO(先進先出)
LIFO(後進先出)
LRU (最近最少使用機制)
MRU (最近最多使用機制)
LFU (最小頻率使用機制)
RR (隨機替換機制)
線路圖:
層級快取(多層級快取)
支援快取事件監聽
獲取快取物件時的常規表示方法
獲取快取物件不存在時的回撥處理支援
統計快取
要求:
Python >= 3.4
快速開始:
下載安裝:
通過建立一個快取物件來開始瞭解:
預設的快取的大小為256,預設存活時間是關閉的,這些屬性可以通過如下設定:
設定一個快取可以通過cache.set():
獲取快取鍵的值通過:cache.get():
為每個鍵值對設定存活過期時間:
快取函式的計算結果:
為快取函式提供了鍵值對的存活時間:
函式解除快取:
複製機制:
刪除快取中的一個鍵值對:
清除整個快取:
為get、set、delete設定了批量方法:
重置已經初始化的快取物件:
通過cache.keys(), cache.values(), and cache.items()獲取所有的鍵、值、以及鍵值對:
迭代整個快取的鍵:
檢測鍵是否還存在於快取中通過cache.has() and key in cache方法:
通過使用CacheManager來管理多個快取物件:
更多的細節請檢視整篇文件https://cacheout.readthedocs.io.