C ++中开源缓存的建议

时间:2013-02-10 12:49:25

标签: c++ caching

我需要一个C ++中的缓存库,它有点像Guave's加载缓存。

应包括以下内容:

  • 非阻止访问
  • 基于时间的驱逐
  • 基于规模的驱逐

我查看了STL,Boost并搜索过,但我找不到任何具有此功能的内容。

1 个答案:

答案 0 :(得分:5)

结帐POCO。我相信它的caching framework将满足您的需求。

ExpireLRUCache<int, string> cache(
                              1024,  // cacheSize
                              600000 // expiration (10 minutes)
);

cache.add( 1, "Cached string 1" );
cache.add( 10, "Cached string 10" );

Sleep( 601000 );

Shared_ptr<string> pVal = cache.get( 10 );
assert( pVal.isNull() ); // the element has expired