Memcached is a Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
It has been explained in many blog entries already but it does not hurt to report once again that PHP sessions can be stored in this key-value store in memory. This is a lot quicker than using the default session storage mechanism of PHP: files.
Installing MemCached
Installation instructions for MemCached differ per platform. On Debian:
apt-get install memcached apt-get install php5-memcache
On MacOS:
port install memcached
port install php5-memcache
Start memcached. You can check if it is running by telnetting into it:
$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. version VERSION 1.4.5 get foo VALUE foo 0 2 hi END stats STAT pid 8861 (etc)
Change your php.ini to use memcache for session storage:
[Session] ; Handler used to store/retrieve data. session.save_handler = memcache ; Argument passed to save_handler. In the case of files, this is the path ; where data files are stored. Note: Windows users have to change this ; variable in order to use PHP's session functions. session.save_path = "tcp://127.0.0.1:11211"
Restart your apache or cgid and you're done.
Now that you have memcached up and running it's time to learn how to move some of your TYPO3 cache tables to memcached.


Is it faster/slower on a single server than the default handler?
How does it scale in comparison to default session handler?