https://github.com/basecamp/libmemcached_store
ActiveSupport::Cache wrapper for libmemcached
https://github.com/basecamp/libmemcached_store
Last synced: 11 months ago
JSON representation
ActiveSupport::Cache wrapper for libmemcached
- Host: GitHub
- URL: https://github.com/basecamp/libmemcached_store
- Owner: basecamp
- License: mit
- Created: 2008-08-18T19:35:33.000Z (almost 18 years ago)
- Default Branch: master
- Last Pushed: 2022-04-15T07:34:27.000Z (about 4 years ago)
- Last Synced: 2025-07-18T05:34:47.207Z (11 months ago)
- Language: Ruby
- Homepage:
- Size: 121 KB
- Stars: 82
- Watchers: 16
- Forks: 23
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: MIT-LICENSE
Awesome Lists containing this project
README
= LibmemcachedStore
An ActiveSupport cache store that uses the C-based libmemcached client through
Evan Weaver's Ruby/SWIG wrapper, memcached. libmemcached is fast, lightweight,
and supports consistent hashing, non-blocking IO, and graceful server failover.
== Prerequisites
You'll need both the libmemcached client and the memcached gem:
* http://tangent.org/552/libmemcached.html
* http://blog.evanweaver.com/files/doc/fauna/memcached
Make sure you install libmemcached first, before you try installing the gem. If
you're using OS X, the easiest way to install libmemcached is through MacPorts:
sudo port install libmemcached
For other platforms, download and extract the libmemcached tarball and install
manually:
./configure
make && sudo make install
Once libmemcached is installed, install the memcached gem:
gem install memcached --no-rdoc --no-ri
== Usage
This is a drop-in replacement for the memcache store that ships with Rails. To
enable, set the config.cache_store option to :libmemcached_store
in the config for your environment
config.cache_store = :libmemcached_store
If no servers are specified, localhost is assumed. You can specify a list of
server addresses, either as hostnames or IP addresses, with or without a port
designation. If no port is given, 11211 is assumed:
config.cache_store = :libmemcached_store, %w(cache-01 cache-02 127.0.0.1:11212)
== Props
Thanks to Brian Aker (http://tangent.org) for creating libmemcached, and Evan
Weaver (http://blog.evanweaver.com) for the Ruby wrapper.