我裝* 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