Spec-Zone .ru
спецификации, руководства, описания, API

15.6.3.7. Используя MySQL и memcached с Ruby

Есть много различных модулей для того, чтобы взаимодействовать через интерфейс к memcached в пределах Ruby. Ruby-MemCache клиентская библиотека обеспечивает собственный интерфейс для memcached, который не требует никаких внешних библиотек, такой как libmemcached. Можно получить пакет установщика из http://www.deveiate.org/projects/RMemCache.

Чтобы установить, извлеките пакет и затем выполните install.rb:

shell> install.rb

Если у Вас есть RubyGems, можно установить Ruby-MemCache драгоценный камень:

shell> gem install Ruby-MemCacheBulk updating Gem source index for: http://gems.rubyforge.orgInstall required dependency io-reactor? [Yn]  ySuccessfully installed Ruby-MemCache-0.0.1Successfully installed io-reactor-0.05Installing ri documentation for io-reactor-0.05...Installing RDoc documentation for io-reactor-0.05...

Чтобы использовать memcached экземпляр изнутри Ruby, создайте новый экземпляр MemCache объект.

require 'memcache'memc = MemCache::new '192.168.0.100:11211'

Можно добавить вес к каждому серверу, чтобы увеличить вероятность сервера, выбираемого во время хеширования, добавляя количество веса к имени хоста сервера / строка порта:

require 'memcache'memc = MemCache::new '192.168.0.100:11211:3'

Чтобы добавить серверы к существующему списку, можно добавить их непосредственно к MemCache объект:

memc += ["192.168.0.101:11211"]

Чтобы установить данные в кэш, можно только присвоить значение ключу в пределах нового объекта кэша, который работает точно так же как стандартный объект хеша Ruby:

memc["key"] = "value"

Или получать значение:

print memc["key"]

Для более явных действий можно использовать интерфейс метода, который подражает основным memcached API-функциям, как получено в итоге в следующей таблице:

Ruby MemCache Метод Эквивалентные memcached API-функции
get() Универсальный get().
get_hash(keys) Получите значения многократных keys, возврат информации как хеш ключей и их значений.
set() Универсальный set().
set_many(pairs) Установите значения ключей и значения в хешеpairs.
add() Универсальный add().
replace() Универсальный replace().
delete() Универсальный delete().
incr() Универсальный incr().
decr() Универсальный decr().