memcachedb(1) persistence-enabled variant of memcached


memcachedb [OPTIONS]


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.


-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)
Run as a daemon
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)
Verbose (print errors/warnings while in event loop)
Very verbose (also print client commands/reponses)
Print brief usage instructions and exit
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)
Enable DB_TXN_NOSYNC for a large performance gain (default: off)
Automatically remove log files that are no longer needed
Allocate region memory from the heap (default: off)

Replication Options

Identifies the host and port used by this site (required)
Identifies another site participating in this replication group
Start memcachedb as a master or slave
-n <num>
Number of sites participating in replication (default: 2)


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




MemcacheDB was written and is maintained by Steve Chu <[email protected]>, based on Memcached by Danga Interactive, Inc. <>