https://github.com/Yiling-J/cacheme
年前到现在一直在完善这个项目,现在基本上完成了,有兴趣的可以试用一下。支持 Python3.7+。 设计的时候参考了 Go 的一些缓存库,比如 ristretto, gocache, 以及我自己的 cacheme-go 等。
主要特性:
- 完全 async
- Rust 编写的基于 TinyLfu policy 的高效内存缓存(参考了 ristretto 和 java 的 caffeine)。
- 使用预先定义的 node 进行缓存管理
- 支持多级缓存
- Thundering herd 保护(通过 asyncio event 同步数据)
- 缓存统计 API
详细说明可以看 github 上的 README
同时有个单独的 repo 进行 continue benchmark ,有兴趣的也可以看看cacheme-benchmark