最近对两个库又做了些完善,欢迎试用。顺便附上 benchmarks ,都是与比较流行的库进行对比。具体说明可以去看项目的 Readme ,benchmarks 也是 Readme 里直接复制过来的
- Theine: https://github.com/Yiling-J/theine
10k 请求测试
Read | Write | Mix Zipf | |
---|---|---|---|
Theine(W-TinyLFU) API | 3.42 ms | 10.14 ms | |
Theine(W-TinyLFU) Auto-Key Decorator | 7.17 ms | 18.41 ms | 13.18 ms |
Theine(W-TinyLFU) Custom-Key Decorator | 6.45 ms | 17.67 ms | 11.50 ms |
Cachetools LFU Decorator | 15.70 ms | 627.10 ms | 191.04 ms |
Cacheout LFU Decorator | 50.05 ms | 704.70 ms | 250.95 ms |
Theine(LRU) Custom-Key Decorator | 5.70 ms | 16.04 ms | 10.91 ms |
Cachetools LRU Decorator | 14.05 ms | 61.06 ms | 36.89 ms |
Cacheout LRU Decorator | 47.90 ms | 94.94 ms | 68.25 ms |
- Cacheme: https://github.com/Yiling-J/cacheme
简单说明一下 benchmarks 先从 redis 获取数据,不存在时调用 load 函数生成数据存入 redis 。load 函数会 sleep 100 ms 。
200k 请求测试
Time | Redis GET | Load Hits | |
---|---|---|---|
Cacheme | 30 s | 166454 | 55579 |
Cacheme-2 | 18 s | 90681 | 55632 |
Aiocache | 46 s | 200000 | 56367 |
Aiocache-2 | 63 s | 256492 | 55417 |
Cashews | 51 s | 200000 | 56920 |
Cashews-2 | 134 s | 200000 | 55450 |
Time | Redis GET | Load Hits | |
---|---|---|---|
Cacheme | 32 s | 123704 | 56736 |
Cacheme-2 | 20 s | 83750 | 56635 |
Aiocache | 67 s | 200000 | 62568 |
Aiocache-2 | 113 s | 263195 | 55507 |
Cashews | 68 s | 200000 | 66036 |
Cashews-2 | 175 s | 200000 | 55709 |
Time | Redis GET | Load Hits | |
---|---|---|---|
Cacheme | 30 s | 60990 | 56782 |
Cacheme-2 | 27 s | 55762 | 55588 |
Aiocache | 80 s | 200000 | 125085 |
Aiocache-2 | 178 s | 326417 | 65598 |
Cashews | 88 s | 200000 | 87894 |
Cashews-2 | 236 s | 200000 | 55647 |
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.