我装* memcache_client * GEM红宝石从http://seattlerb.rubyforge.org/memcache-client/获取多个值使用Ruby
可以很容易地得到一个值:
cache.get('foo', 'bar')
如何获得的所有值,从“富',例如foo_1,foo_2,foo_3,foo_ *? 就像“SELECT * FROM foo”,但对于Memcached。
将会有大约10 000个“foo_n”条目。
我装* memcache_client * GEM红宝石从http://seattlerb.rubyforge.org/memcache-client/获取多个值使用Ruby
可以很容易地得到一个值:
cache.get('foo', 'bar')
如何获得的所有值,从“富',例如foo_1,foo_2,foo_3,foo_ *? 就像“SELECT * FROM foo”,但对于Memcached。
将会有大约10 000个“foo_n”条目。
不是一个完美的解决方案,但看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对自己的过程。一种替代方案是使用Redis,它可以是get a list of keys using a glob style pattern。
可能希望将Redis视为memcache的替代方案。它支持列表,集合,排序集合和哈希。 http://code.google.com/p/redis/
如果它会是10001的值? – Kir 2010-12-11 19:26:20
是的,如果你不知道你需要查找多少个键,那会是个问题。我用一些想法更新了答案。 – tjwallace 2010-12-11 19:55:36