Giter VIP home page Giter VIP logo

spymemcached.jruby's Introduction

Spymemcached.jruby

Built with ๐Ÿ’› and โ˜• in San Francisco

A JRuby extension wraps the latest spymemcached client. Fastest jruby memcached client, threadsafe.

Usage

Start a local networked memcached server:

$ memcached -p 11211

Require the library and instantiate a Spymemcached object at a global level:

require 'spymemcached'
$cache = Spymemcached.new("localhost:11211")

Setup multiple servers with options

require 'spymemcached'
$cache = Spymemcached.new(['memcached1.host:11211', 'memcached2.host:11211', 'memcached3.host:11211'],
                          {:namespace => 'appName', :timeout => 0.1, :binary => true})

Valid +options+ are:

[:namespace]        Prepends this value to all keys added or retrieved.
[:timeout]          Time to use as the socket read timeout, seconds.  Defaults to 0.5 sec.
[:binary]           Talks binary protocol with Memcached server. Default to true.
[:should_optimize]  If true, Spymemcached low-level optimization is in effect. Default to false.

Rails 4

Use spymemcached_store gem to integrate ActiveSupport cache store and spymemcached.jruby gem.

Rails 3

require 'spymemcached'
config.cache_store = :mem_cache_store, Spymemcached.new(servers, options).rails23

Rails 2.x

require 'spymemcached'
ActionController::Base.cache_store = :mem_cache_store, Spymemcached.new(servers, options).rails23

Default behaviors

Spymemcached.jruby applies:

  • Ketama key hash algorithm (see Spymemcached document or RJ's blog post for details)
  • Gzip compressed when the cache data size is larger than 16kb.
  • Binary protocol

Other default settings see Spymemcached DefaultConnectionFactory for details.

Performance

Benchmark result compared with gem dalli and jruby-memcached

Further resources

spymemcached.jruby's People

Contributors

xli avatar kierarad avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.