Spec-Zone .ru
спецификации, руководства, описания, API
|
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 package from
To install, extract the package and then run install.rb:
shell> install.rb
If you have RubyGems, you can install the Ruby-MemCache
gem:
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...
To use a memcached instance from within Ruby, create a new
instance of the MemCache
object.
require 'memcache'memc = MemCache::new '192.168.0.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 '192.168.0.100:11211:3'
To add servers to an existing list, you can append them directly to the MemCache
object:
memc += ["192.168.0.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:
print memc["key"]
For more explicit actions, you can use the method interface, which mimics the main memcached API functions, as summarized in the following table:
Ruby MemCache Method |
Equivalent memcached API Functions |
---|---|
get() |
Generic get() . |
get_hash(keys) |
Get the values of multiple keys , returning the information as a hash of
the keys and their values.
|
set() |
Generic set() . |
set_many(pairs) |
Set the values of the keys and values in the hashpairs . |
add() |
Generic add() . |
replace() |
Generic replace() . |
delete() |
Generic delete() . |
incr() |
Generic incr() . |
decr() |
Generic decr() . |