python的緩存庫(cacheout)
鏈接:
項(xiàng)目:?https://github.com/dgilland/cacheout
文檔地址:?https://cacheout.readthedocs.io
PyPI(下載鏈接):?https://pypi.python.org/pypi/cacheout/
TravisCI(下載鏈接):?https://travis-ci.org/dgilland/cacheout
特性:
后端使用字典進(jìn)行緩存
使用緩存管理輕松訪問多個(gè)緩存對象
當(dāng)使用模塊級緩存對象兴想,重構(gòu)運(yùn)行時(shí)的緩存設(shè)置
最大緩存大小限制
默認(rèn)的緩存時(shí)間設(shè)置以及緩存項(xiàng)自定義存活時(shí)間
批量的設(shè)置巢寡、獲取、刪除操作
線程安全
多種緩存機(jī)制的實(shí)現(xiàn):
FIFO(先進(jìn)先出)
LIFO(后進(jìn)先出)
LRU (最近最少使用機(jī)制)
MRU (最近最多使用機(jī)制)
LFU (最小頻率使用機(jī)制)
RR (隨機(jī)替換機(jī)制)
線路圖:
?層級緩存(多層級緩存)
支持緩存事件監(jiān)聽
獲取緩存對象時(shí)的常規(guī)表示方法
獲取緩存對象不存在時(shí)的回調(diào)處理支持
統(tǒng)計(jì)緩存
要求:
Python >= 3.4
快速開始:
下載安裝:
通過創(chuàng)建一個(gè)緩存對象來開始了解:
默認(rèn)的緩存的大小為256,默認(rèn)存活時(shí)間是關(guān)閉的,這些屬性可以通過如下設(shè)置:
設(shè)置一個(gè)緩存可以通過cache.set():
獲取緩存鍵的值通過:cache.get():
為每個(gè)鍵值對設(shè)置存活過期時(shí)間:
緩存函數(shù)的計(jì)算結(jié)果:
為緩存函數(shù)提供了鍵值對的存活時(shí)間:
函數(shù)解除緩存:
復(fù)制機(jī)制:
刪除緩存中的一個(gè)鍵值對:
清除整個(gè)緩存:
為get窟勃、set、delete設(shè)置了批量方法:
重置已經(jīng)初始化的緩存對象:
通過cache.keys(),?cache.values(), and?cache.items()獲取所有的鍵、值捷泞、以及鍵值對:
迭代整個(gè)緩存的鍵:
檢測鍵是否還存在于緩存中通過cache.has()?and?key in cache方法:
通過使用CacheManager來管理多個(gè)緩存對象:
更多的細(xì)節(jié)請查看整篇文檔https://cacheout.readthedocs.io.