使用Ruby从memcache获取多个值

时间:2010-12-11 19:08:32

标签: ruby memcached

我从http://seattlerb.rubyforge.org/memcache-client/

安装了* memcache_client * GEM Ruby

获得单一价值很容易:

cache.get('foo', 'bar')

如何获取所有值,以'foo'开头,例如foo_1,foo_2,foo_3,foo_ *? 像“SELECT * FROM foo”,但是对于Memcached。

将有大约10 000个“foo_n”条目。

2 个答案:

答案 0 :(得分:1)

不是一个完美的解决方案,但请查看get_multi函数:

keys = (1..10_000).map{ |n| "foo_#{n}" }
data = cache.get_multi(*keys)

不幸的是,memcached不支持正则表达式密钥查找,或even let you get a list of all the keys自行处理。另一种方法是使用Redisget a list of keys using a glob style pattern

答案 1 :(得分:1)

可能希望将Redis视为memcache的替代品。它支持列表,集,排序集和哈希。 http://code.google.com/p/redis/