memcached development tree
C Perl M4 DTrace Shell Makefile Other
Permalink
Failed to load latest commit information.
devtools some whitespace test fixes. May 29, 2016
doc document new metadump command. Aug 20, 2016
m4 Backporting AC_PROG_CC_C99 macro for redhat. Feb 20, 2010
scripts Add MemoryDenyWriteExecute to the systemd service Aug 11, 2016
t Add test for OOM errors with new LRU Oct 12, 2016
.gitignore .gitignore updates. Jul 13, 2016
.shipit Checking in changes prior to tagging of version 1.2.4. Changelog diff… Dec 6, 2007
AUTHORS autoconf/automake support from evan Jun 14, 2003
BUILD better build instructions Jul 31, 2003
CONTRIBUTING Add links to http://contributing.appspot.com/memcached Mar 20, 2010
COPYING add a duplicate of the LICENSE file so GNU automake doesn't assume it… Aug 6, 2004
ChangeLog Update old ChangeLog note to visit Github wiki Oct 12, 2016
Doxyfile fix typos Jan 1, 2015
HACKING Add links to http://contributing.appspot.com/memcached Mar 20, 2010
LICENSE change from GPL to BSD. Jun 15, 2003
LICENSE.bipbuffer initial logger code. Jun 17, 2016
Makefile.am pull LRU crawler out into its own file. Aug 20, 2016
NEWS danga.com -> memcached.org in a few spots. Apr 30, 2014
README.md Use Markdown for README. Jul 30, 2012
assoc.c clean up global stats code a little. Jun 27, 2016
assoc.h use item lock instead of global lock when hash expanding. Dec 26, 2014
autogen.sh fix configure.ac warning and use system automake Nov 18, 2015
bipbuffer.c fix solaris compiler warning in bipbuffer.c Jun 21, 2016
bipbuffer.h initial logger code. Jun 17, 2016
cache.c totally destroy test caches Jul 29, 2012
cache.h typo in cache.h Aug 11, 2016
configure.ac don't fail on systems without 64bit atomics Jul 2, 2016
crawler.c pull LRU crawler out into its own file. Aug 20, 2016
crawler.h pull LRU crawler out into its own file. Aug 20, 2016
daemon.c Build fixes for ubuntu 8.10/64. Jan 20, 2009
globals.c clean up global stats code a little. Jun 27, 2016
hash.c Make hash table algorithm selectable Apr 17, 2014
hash.h Make hash table algorithm selectable Apr 17, 2014
items.c CVE reported by cisco talos Oct 12, 2016
items.h pull LRU crawler out into its own file. Aug 20, 2016
jenkins_hash.c fix typos Jan 1, 2015
jenkins_hash.h Make hash table algorithm selectable Apr 17, 2014
logger.c make logger use uriencode out of util.c Aug 20, 2016
logger.h logger endpoints for first release Jun 17, 2016
memcached.c CVE reported by cisco talos Oct 12, 2016
memcached.h pull LRU crawler out into its own file. Aug 20, 2016
memcached.spec.in danga.com -> memcached.org in a few spots. Apr 30, 2014
memcached_dtrace.d Define touch command probe for DTrace support Jul 29, 2012
murmur3_hash.c fix typos Jan 1, 2015
murmur3_hash.h Make hash table algorithm selectable Apr 17, 2014
protocol_binary.h fix typos Jan 1, 2015
sasl_defs.c fix enable-sasl-pwdb Sep 18, 2012
sasl_defs.h Specify hostname in sasl_server_new. Jan 28, 2012
sizes.c Created a tool to show us the sizes of various data structures. Mar 10, 2009
slabs.c fix over-allocating with large item support Aug 11, 2016
slabs.h slabs reassigns works with chunks and chunked items. Jul 13, 2016
solaris_priv.c Remove compilation errors from gcc on Solaris Aug 23, 2009
stats.c Make hash table algorithm selectable Apr 17, 2014
stats.h stats_prefix_* should not assume that all keys are zero-terminated Jan 3, 2009
testapp.c gatkq: return key in response Jan 1, 2015
thread.c allow redispatching sidethread conn to worker Aug 20, 2016
timedrun.c bug237: Don't compute incorrect argc for timedrun Jan 12, 2012
trace.h Backport binary TOUCH/GAT/GATQ commands Sep 27, 2011
util.c prototype functionality for LRU metadumper Aug 20, 2016
util.h prototype functionality for LRU metadumper Aug 20, 2016
version.pl Make autoversioning/spec gen work better. Nov 2, 2009
version.sh Generate the memcached.spec along with the version number. Aug 29, 2009

README.md

Memcached

Dependencies

Environment

Linux

If using Linux, you need a kernel with epoll. Sure, libevent will work with normal select, but it sucks.

epoll isn't in Linux 2.4, but there's a backport at:

http://www.xmailserver.org/linux-patches/nio-improve.html

You want the epoll-lt patch (level-triggered).

Mac OS X

If you're using MacOS, you'll want libevent 1.1 or higher to deal with a kqueue bug.

Also, be warned that the -k (mlockall) option to memcached might be dangerous when using a large cache. Just make sure the memcached machines don't swap. memcached does non-blocking network I/O, but not disk. (it should never go to disk, or you've lost the whole point of it)

Website

Contributing

Want to contribute? Up-to-date pointers should be at: