There are a number of different modules for interfacing to
memcached within Ruby. The
Ruby-MemCache client library provides a
native interface to memcached that does not
require any external libraries, such as
libmemcached. You can obtain the installer
To install, extract the package and then run install.rb:
If you have RubyGems, you can install the
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...
To use a memcached instance from within Ruby,
create a new instance of the
require 'memcache' memc = MemCache::new '198.51.100.100:11211'
You can add a weight to each server to increase the likelihood of the server being selected during hashing by appending the weight count to the server host name/port string:
require 'memcache' memc = MemCache::new '198.51.100.100:11211:3'
To add servers to an existing list, you can append them directly
memc += ["198.51.100.101:11211"]
To set data into the cache, you can just assign a value to a key within the new cache object, which works just like a standard Ruby hash object:
memc["key"] = "value"
Or to retrieve the value:
For more explicit actions, you can use the method interface, which mimics the main memcached API functions, as summarized in the following table:
|Ruby ||Equivalent memcached API Functions|
|Get the values of multiple |
|Set the values of the keys and values in the hash