11

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

它应包括以下内容:

  • 非阻塞访问
  • 基于时间的驱逐
  • 基于大小的驱逐

我查看了 STL、Boost 并四处搜索,但我找不到任何具有此功能的东西。

4

1 回答 1

7

查看POCO。我相信它的缓存框架会满足您的需求。

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
于 2013-02-10T13:57:36.483 回答