Ruby には、memcached へのインタフェースとなる異なるモジュールがあります。Ruby-MemCache
クライアントライブラリは、libmemcached
などの外部ライブラリを必要としない memcached へのネイティブインタフェースを提供します。インストーラパッケージは、http://www.deveiate.org/projects/RMemCache から入手できます。
インストールするには、パッケージを抽出して install.rb を実行します。
shell> install.rb
RubyGems がある場合は、Ruby-MemCache
gem をインストールできます。
shell> gem install Ruby-MemCache
Bulk updating Gem source index for: http://gems.rubyforge.org
Install required dependency io-reactor? [Yn] y
Successfully installed Ruby-MemCache-0.0.1
Successfully installed io-reactor-0.05
Installing ri documentation for io-reactor-0.05...
Installing RDoc documentation for io-reactor-0.05...
Ruby の内部から memcached インスタンスを使用するには、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() 。 |