Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

76 lines (54 sloc) 1.528 kb

jruby-memcached

A jruby memcached gem which is compatible with evan's memcached gem

Install

gem install jruby-memcached

Usage

Now, in Ruby, require the library and instantiate a Memcached object at a global level:

require 'memcached'
$cache = Memcached.new("localhost:11211")

Now you can set things and get things:

value = 'hello'
$cache.set 'test', value
$cache.get 'test' #=> "hello"

You can set with an expiration timeout:

value = 'hello'
$cache.set 'test', value, 1
sleep(2)
$cache.get 'test' #=> raises Memcached::NotFound

You can get multiple values at once:

value = 'hello'
$cache.set 'test', value
$cache.set 'test2', value
$cache.get ['test', 'test2', 'missing']
  #=> {"test" => "hello", "test2" => "hello"}

You can set a counter and increment it. Note that you must initialize it with an integer, encoded as an unmarshalled ASCII string:

$cache.increment 'counter' #=> 1
$cache.increment 'counter' #=> 2
$cache.get('counter').to_i #=> 2

You can get some server stats:

$cache.stats #=> {..., :bytes_written=>[62], :version=>["1.2.4"] ...}

Rails

# config/environment.rb
config.cache_store = Memcached::Rails.new(:servers => ['127.0.0.1'])

Benchmarks

memcached.gem is the fastest memcached gem in MRI, jruby-memcached is the fastest memcached gem in JRuby. See benchmark

Jump to Line
Something went wrong with that request. Please try again.