检索缓存中的所有项目

时间:2011-09-20 16:08:37

标签: c# caching memcached enyim

我最近启动了Enyim Memcached并且运行良好。使用该库,我可以毫无问题地存储和检索项目。

但是,我想知道是否有办法从缓存中检索所有项目。 我知道您可以通过其密钥检索项目:

  MemcachedClient client = new MemcachedClient()
  object o = client.Get("key");

但我似乎无法看到GetAll()或类似的方法,我错过了什么?

2 个答案:

答案 0 :(得分:6)

我想详细说明达森的回答。他是正确的,没有办法从标准的memcached中获取所有密钥,但是还有其他类型的memcached允许您通过分流来完成此操作。如果您使用Membase服务器(如果您只使用缓存桶,Membase几乎只是memcached),您可以使用memcached的Membase分支,可以在https://github.com/membase/memcached找到。 Membase分支绝对可以安全使用,许多顶级的memcached贡献者都在为Membase(现在的Couchbase)工作,并将这个分支贡献给主要的memcached分支。

另一方面,Enyim客户端不支持tap API,但有支持tap的Java,C / C ++,python和ruby客户端。你要做的是创建一个tap转储流,这个流将发送给你所有的关键值对memcached / Membase。

答案 1 :(得分:2)

不,你不能。 Memcached不是为此目的而设计的(缓存并不意味着检索所有项目,这是没有意义的)。