检索缓存中的所有项

本文关键字:缓存 检索 | 更新日期: 2023-09-27 18:09:03

我最近得到了Enyim Memcached和运行,它是伟大的工作。使用这个库,我可以毫无问题地存储和检索项目。

然而,我想知道是否有一种方法可以从缓存中检索所有项目。我知道您可以通过键来检索项目:

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

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

检索缓存中的所有项

我想详细说明一下dasun的回答。他是正确的,没有办法从标准memcached中获取所有的键,但是有其他类型的memcached允许您通过tap流来实现这一点。如果你使用Membase服务器(如果你只是使用缓存桶Membase基本上就是memcached),你可以这样做,或者你可以使用memcached的Membase分支,可以在这里找到https://github.com/membase/memcached。Membase分支绝对是安全的,许多顶级memcached贡献者为Membase(现在的Couchbase)工作,并从这个分支向memcached主分支贡献东西。

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

不,你不能。memchache不是为这个目的而设计的(缓存不是为了检索所有项目,这是毫无意义的)。