1. 程式人生 > >Python快取神奇庫cacheout全解

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.