简单的C / C ++进程内缓存类似于memcached

时间:2011-10-12 06:37:43

标签: c caching

我需要一个简单的(LRU)缓存,它应该在进程中运行。我找到了memcached,它看起来很棒,但似乎没有一种简单的方法可以在进程中托管它。我不需要分布式缓存,只需要一个简单的键/值存储和某种LRU行为以及一些很好的分配器来限制碎片,因为条目大小变化很大(几个字节 - 几千字节)。必须肯定这样的事情的现有实施?应该是C或C ++。

2 个答案:

答案 0 :(得分:3)

我讨厌以这种方式回答,但实施起来会相当简单。

  1. 分配器。使用mallocfree。他们工作,他们运作良好。这也使您更容易与程序的其余部分进行交互。

  2. Mutex - >哈希表,树或特里。您可以使用链接列表来跟踪LRU。不要试图做一些花哨的无锁东西。

  3. 重量应少于几百行,在坚实的日子里敲出来。

答案 1 :(得分:0)

我使用commoncache取得了成功,但项目似乎没有任何活动,我的同事提出的问题(有补丁)仍未得到解决......