我需要一个应该在进程内运行的简单(LRU)缓存。我找到了 memcached,它看起来不错,但似乎没有一种简单的方法可以在进程中托管它。我不需要分布式缓存,只需要一个简单的键/值存储和某种 LRU 行为和一些不错的分配器来限制碎片,因为条目大小变化很大(几个字节 - 几千字节。)肯定有这种事情的现有实现?应该是 C 或 C++。
我讨厌以这种方式回答,但实现自己会相当简单。
分配器。使用malloc和free。它们确实有效,而且效果很好。这也使您可以更轻松地与程序的其余部分进行交互。
互斥 -> 哈希表、树或树。您可以使用链表来跟踪 LRU。不要尝试做花哨的无锁东西。
重量应该少于几百行,在美好的一天中将其敲掉。
| 归档时间: |
|
| 查看次数: |
566 次 |
| 最近记录: |