Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
mmap -> lmc_valloc -> hashtable. BAM database
C Ruby Shell C++ Perl
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bench
example
site
src
.gitignore
AUTHORS
COPYING
LICENSE
Makefile.in
README
Rakefile
THANKS
VERSION
aclocal.m4
configure
configure.in
localmemcache.gemspec

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
Something went wrong with that request. Please try again.