Получить более одного значения из memcache с Ruby - PullRequest
0 голосов
/ 11 декабря 2010

Я установил * memcache_client * GEM Ruby из http://seattlerb.rubyforge.org/memcache-client/

Легко получить одно значение:

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

Как получить все значения, начиная с 'foo', например, foo_1, foo_2, foo_3, foo_ *? Что-то вроде «SELECT * FROM foo», но для Memcached.

Будет около 10 000 записей "foo_n".

Ответы [ 2 ]

1 голос
/ 12 декабря 2010

Возможно, вы захотите взглянуть на Redis как на альтернативу memcache. Он поддерживает списки, наборы, отсортированные наборы и хэши. http://code.google.com/p/redis/

1 голос
/ 11 декабря 2010

Не идеальное решение, но посмотрите на функцию get_multi:

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

К сожалению, memcached не поддерживает поиск ключей регулярных выражений, или даже позволяет вам получить список всех ключей для самостоятельной обработки. В качестве альтернативы можно использовать Redis , который может получить список ключей, используя шаблон стиля глобуса .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...