DiskCache磁盤和文件支持的緩存庫
DiskCache 是一個磁盤和文件支持的緩存庫,用純 Python 編寫,并與 Django 兼容。2021 年的云計算非常重視內(nèi)存。隨著進(jìn)程爭奪內(nèi)存,磁盤上留下了千兆字節(jié)的空白空間。在這些進(jìn)程中,有用作緩存的 Memcached(有時是 Redis)。最好使用空磁盤空間進(jìn)行緩存。
DiskCache 有效地使數(shù)千兆字節(jié)的存儲空間可用于緩存。通過利用堅如磐石的數(shù)據(jù)庫和內(nèi)存映射文件,緩存性能可以匹配并超越行業(yè)標(biāo)準(zhǔn)解決方案。不需要 C 編譯器或運行另一個進(jìn)程。性能是一項功能,測試具有 100% 的覆蓋率,包括單元測試和數(shù)小時的壓力測試。
特性:
- 純 Python
- 完整記錄
- 基準(zhǔn)比較
- 100% 測試覆蓋率
- 壓力測試
- Django 兼容 API
- 線程安全和進(jìn)程安全
- 支持多種驅(qū)逐策略(包括 LRU 和 LFU)
- 密鑰支持“標(biāo)記”元數(shù)據(jù)和驅(qū)逐
- 在 Python 3.9 上開發(fā)
- 在 CPython 3.6、3.7、3.8、3.9 上測試
- 在 Linux、macOS 和 Windows 上測試
- 使用 GitHub Action 進(jìn)行測試
快速開始
使用 pip 安裝 DiskCache 很簡單:
$ pip install diskcache
您可以使用 Python 的內(nèi)置幫助功能訪問解釋器中的文檔:
>>> import diskcache >>> help(diskcache) # doctest: +SKIP
DiskCache 的核心是用于緩存的三種數(shù)據(jù)類型。緩存對象管理 SQLite 數(shù)據(jù)庫和文件系統(tǒng)目錄以存儲鍵值對。FanoutCache 提供了一個分片層來利用多個緩存,DjangoCache 將它與 Django 集成:
>>> from diskcache import Cache, FanoutCache, DjangoCache
>>> help(Cache) # doctest: +SKIP
>>> help(FanoutCache) # doctest: +SKIP
>>> help(DjangoCache) # doctest: +SKIP
建立在緩存數(shù)據(jù)類型之上的是 Deque 和 Index,它們作為 Pythoncollections.deque和 dict. 這些實現(xiàn)了序列和映射容器基類:
>>> from diskcache import Deque, Index >>> help(Deque) # doctest: +SKIP >>> help(Index) # doctest: +SKIP
評論
圖片
表情
