Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
fastest jruby memcached client
Java Ruby

Merge pull request #5 from phlipper/patch-1

add GitHub Flavored Markdown to README
latest commit 292d613a95
@flyerhzm flyerhzm authored
Failed to load latest commit information.
lib
spec
src/main/java ignore nil value in Memcached options
target
.gitignore remove Gemfile.lock
.travis.yml
CHANGELOG.md update CHANGELOG
Gemfile
MIT-LICENSE
README.md add GitHub Flavored Markdown to README
Rakefile
benchmark.rb memcached.quit in benchmark.rb
jruby_memcached.gemspec update README
pom.xml add junit dependency

README.md

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

Something went wrong with that request. Please try again.