SYNOPSIS

memcachedb [OPTIONS]

DESCRIPTION

MemcacheDB (pronounced mem-cash-dee-bee) is a persistence-enabled variant of the memcached distributed key-value storage system. It is NOT a cache solution, but rather a persistent storage engine for fast and reliable key-value based object storage and retrieval.

It conforms to the memcache protocol, which means that memcached clients can connect and use the persistent key-value store transparently. It also provides reliability and high-availability through its transaction and replication support, courtesy of its BerkeleyDB storage backend.

OPTIONS

-p <num>

TCP port to listen on (default: 21201)

-U <num>

UDP port to listen on (default: 0, off)

-s <file>

UNIX Domain Socket path to listen on (disables network support)

-a <mask>

Access mask for unix socket, in octal (default: 0700)

-l <ip_addr>

Interface to listen on (default: INADRR_ANY)

-d

Run as a daemon

-r

Maximize core file limit

-u <username>

Assume identity of <username> (only when run as root)

-c <num>

Maximum simultaneous connections (default: 4096)

-b <num>

Item size smaller than <num> bytes will use fast memory allocation (default: 2048 bytes)

-v

Verbose (print errors/warnings while in event loop)

-vv

Very verbose (also print client commands/reponses)

-h

Print brief usage instructions and exit

-i

Print complete copyright and license information

-P <file>

Save process ID in <file> (only used with the -d option)

-t <num>

Number of threads to use (default: 4)

Berkeley DB Options

-m <num>

In-memory cache size of BerkeleyDB in megabytes (default: 256MB)

-A <num>

Underlying page size in bytes (default: 4096, range: 512B-64KB, power-of-two)

-f <file>

Filename of database (default: data.db)

-H <dir>

Environment HOME of database (default: /data1/memcachedb)

-G <dir>

Log directory of database (default: same as Environment HOME, see -H)

-B <db_type>

Type of database, options are: 'btree' or 'hash' (default: btree)

-L <num>

Log buffer size in kBytes (default: 4096kB)

-C <num>

Perform a checkpoint every <num> seconds (0 to disable, default: 300 seconds)

-T <num>

Do memp_trickle every <num> seconds (0 to disable, default: 30 seconds)

-e <num>

Percentage of the pages in the cache that should be clean (default: 60%)

-D <num>

Perform deadlock detection every <num> milliseconds (0 to disable, default: 100ms)

-N

Enable DB_TXN_NOSYNC for a large performance gain (default: off)

-E

Automatically remove log files that are no longer needed

-X

Allocate region memory from the heap (default: off)

Replication Options

-R

Identifies the host and port used by this site (required)

-O

Identifies another site participating in this replication group

-M/-S

Start memcachedb as a master or slave

-n <num>

Number of sites participating in replication (default: 2)

CAVEATS

  • Because this is a persistent storage solution, expire time specified in the corresponding memcache protocol clients will be silently discarded.

FILES

/etc/memcachedb.conf

RELATED TO memcachedb…

AUTHOR

MemcacheDB was written and is maintained by Steve Chu <[email protected]>, based on Memcached by Danga Interactive, Inc. <http://www.danga.com/>