memcached - high-performance memory object caching system
This manual page documents briefly the memcached memory
object caching daemon.
memcached is a flexible memory object caching daemon
designed to alleviate database load in dynamic web applications by storing
objects in memory. It's based on libevent to scale to any size needed, and
is specifically optimized to avoid swapping and always use non-blocking I/O.
These programs follow the usual GNU command line syntax. A summary
of options is included below.
- -s,
--unix-socket=<file>
- Unix socket path to listen on (disables network support).
- -A,
--enable-shutdown
- Enable ascii "shutdown" command.
- -a,
--unix-mask=<perms>
- Permissions (in octal format) for Unix socket created with -s option.
- -l,
--listen=<addr>
- Listen on <addr>; default to INADDR_ANY. <addr> may be
specified as host:port. If you don't specify a port number, the value you
specified with -p or -U is used. You may specify multiple addresses
separated by comma or by using -l multiple times. This is an important
option to consider as there is no other way to secure the installation.
Binding to an internal or firewalled network interface is suggested.
- -d, --daemon
- Run memcached as a daemon.
- -u,
--user=<username>
- Assume the identity of <username> (only when run as root).
- -m,
--memory-limit=<num>
- Use <num> MB memory max to use for object storage; the default is 64
megabytes.
- -c,
--conn-limit=<num>
- Use <num> max simultaneous connections; the default is 1024.
- -R,
--max-reqs-per-event=<num>
- This option seeks to prevent client starvation by setting a limit to the
number of sequential requests the server will process from an individual
client connection. Once a connection has exceeded this value, the server
will attempt to process I/O on other connections before handling any
further request from this connection. The default value for this option is
20.
- -k, --lock-memory
- Lock down all paged memory. This is a somewhat dangerous option with large
caches, so consult the README and memcached homepage for configuration
suggestions.
- -p,
--port=<num>
- Listen on TCP port <num>, the default is port 11211. 0 means
off.
- -U,
--udp-port=<num>
- Listen on UDP port <num>, the default is port 0, which is off.
- -M,
--disable-evictions
- Disable automatic removal of items from the cache when out of memory.
Additions will not be possible until adequate space is freed up.
- -r,
--enable-coredumps
- Raise the core file size limit to the maximum allowable.
- -f,
--slab-growth-factor=<factor>
- Use <factor> as the multiplier for computing the sizes of memory
chunks that items are stored in. A lower value may result in less wasted
memory depending on the total amount of memory available and the
distribution of item sizes. The default is 1.25.
- -n,
--slab-min-size=<size>
- Allocate a minimum of <size> bytes for the item key, value, and
flags. The default is 48. If you have a lot of small keys and values, you
can get a significant memory efficiency gain with a lower value. If you
use a high chunk growth factor (-f option), on the other hand, you may
want to increase the size to allow a bigger percentage of your items to
fit in the most densely packed (smallest) chunks.
- -C, --disable-cas
- Disable the use of CAS (and reduce the per-item size by 8 bytes).
- -h, --help
- Show the version of memcached and a summary of options.
- -v, --verbose
- Be verbose during the event loop; print out errors and warnings.
- -vv
- Be even more verbose; same as -v but also print client commands and
responses.
- -vvv
- Be extremely verbose; same of the above and also print internal state
transitions.
- -i, --license
- Print memcached and libevent licenses.
- -P,
--pidfile=<filename>
- Print pidfile to <filename>, only used under -d option.
- -t,
--threads=<threads>
- Number of threads to use to process incoming requests. This option is only
meaningful if memcached was compiled with thread support enabled. It is
typically not useful to set this higher than the number of CPU cores on
the memcached server. Setting a high number (64 or more) of worker threads
is not recommended. The default is 4.
- -D <char>
- Use <char> as the delimiter between key prefixes and IDs. This is
used for per-prefix stats reporting. The default is ":" (colon).
If this option is specified, stats collection is turned on automatically;
if not, then it may be turned on by sending the "stats detail
on" command to the server.
- -L,
--enable-largepages
- Try to use large memory pages (if available). Increasing the memory page
size could reduce the number of TLB misses and improve the performance. In
order to get large pages from the OS, memcached will allocate the total
item-cache in one large chunk. Only available if supported on your
OS.
- -b,
--listen-backlog=<num>
- Set the backlog queue limit to <num> connections. The default is
1024.
- -B,
--protocol=<proto>
- Specify the binding protocol to use. By default, the server will
autonegotiate client connections. By using this option, you can specify
the protocol clients must speak. Possible options are "auto"
(the default, autonegotiation behavior), "ascii" and
"binary".
- -I,
--max-item-size=<size>
- Override the default size of each slab page. The default size is 1mb.
Default value for this parameter is 1m, minimum is 1k, max is 1G (1024 *
1024 * 1024). Adjusting this value changes the item size limit.
- -S, --enable-sasl
- Turn on SASL authentication. This option is only meaningful if memcached
was compiled with SASL support enabled.
- -F,
--disable-flush-all
- Disables the "flush_all" command. The cmd_flush counter will
increment, but clients will receive an error message and the flush will
not occur.
- -X,
--disable-dumping
- Disables the "stats cachedump" and "lru_crawler
metadump" commands.
- -o,
--extended=<options>
- Comma separated list of extended or experimental options. See -h or wiki
for up to date list.
- -V, --version
- print version and exit
The memcached daemon is copyright Danga Interactive and is
distributed under the BSD license. Note that daemon clients are licensed
separately.
The README file that comes with memcached
https://www.memcached.org
The memcached daemon was written by Anatoly Vorobey
<mellon@pobox.com> and Brad Fitzpatrick
<brad@danga.com> and the rest of the crew of Danga Interactive
https://www.danga.com