public
Description: mmap() -> lmc_valloc() -> hashtable. BAM database
Homepage: http://localmemcache.rubyforge.org/
Clone URL: git://github.com/sck/localmemcache.git
name age message
file .gitignore Fri Sep 25 06:09:25 -0700 2009 Integrating Paul Mineiro's improvements. [sck]
file AUTHORS Sat Feb 28 15:40:28 -0800 2009 Initial import. [sck]
file COPYING Sat Feb 28 15:40:28 -0800 2009 Initial import. [sck]
file LICENSE Fri Mar 06 05:05:04 -0800 2009 Updated site. [sck]
file Makefile.in Wed Mar 04 05:10:28 -0800 2009 Packages are now built in project dir. [sck]
file README Fri Sep 25 05:58:06 -0700 2009 Revert "Integrating Paul Minero's improvements.... [sck]
file Rakefile Fri Oct 02 13:45:35 -0700 2009 * Fixes for Ruby 1.9 [sck]
file THANKS Fri Sep 25 07:02:41 -0700 2009 Preparations for 0.4.3. [sck]
file VERSION Fri Sep 25 07:02:41 -0700 2009 Preparations for 0.4.3. [sck]
file aclocal.m4 Wed Mar 04 05:10:28 -0800 2009 Packages are now built in project dir. [sck]
directory bench/ Wed May 06 03:38:18 -0700 2009 Benchmark works with 0.4.0. [sck]
file configure Sun Apr 05 05:56:30 -0700 2009 Added sanity test. [sck]
file configure.in Sun Apr 05 05:56:30 -0700 2009 Added sanity test. [sck]
directory example/ Mon Aug 10 07:31:34 -0700 2009 Documentation & examples updates for :min_alloc... [sck]
directory site/ Fri Oct 30 19:45:39 -0700 2009 Maximum length for lock id is now 20 characters... [sck]
directory src/ Sun Nov 08 12:38:25 -0800 2009 Removed tests for ExpiryCache. [sck]
README
Localmemcache README
=====================

A persistent key-value database based on mmap()'ed shared memory.

* http://localmemcache.rubyforge.org/

WHAT IS IT?
===========

Localmemcache is a library for C and ruby that aims to provide
an interface similar to memcached but for accessing local data instead of
remote data.  It's based on mmap()'ed shared memory for maximum speed.
Since version 0.3.0 it supports persistence, also making it a fast
alternative to GDBM and Berkeley DB.

SUPPORTED SYSTEMS
=================

- a >=64bit Unix (32bit is possible but you'll run out of virtual address
  space quickly)
- a file system that offers sparse files

Note for OS X: OS X disqualifies as HFS+ doesn't have sparse files and
sem_timedwait() and sem_getvalue() aren't supported as well.

Note for FreeBSD: It has been reported that Localmemcache sometimes hangs
there, it is not yet clear what the problem is.

EXAMPLE
=======

In Ruby:

require 'localmemcache'
# 1. the memcached way
# $lm = LocalMemCache.new :namespace => :viewcounters
# 2. the GDBM way
#$lm = LocalMemCache.new :filename => "./viewcounters.lmc"
# 3. Using LocalMemCache::SharedObjectStorage
$lm = LocalMemCache::SharedObjectStorage.new :filename => "./viewcounters.lmc"
$lm[:foo] = 1
$lm[:foo]
$lm.delete(:foo)

INSTALLATION
============

Ruby binding:

# gem install localmemcache

If you just want to use the C API, download the .tar.gz from:

http://rubyforge.org/frs/?group_id=7925