Development, Analysis And Research


Installing memcached

Posted in General by Andrew Johnstone on the April 7th, 2007

Recently I had to install memcache on a number of servers, and I would always tend to end up with errors whilst memcache tries to locate libevent. I always seem to forgett LD_DEBUG, so I figured I would write up the process for installing memcache.

One of the dependencies of memcache is libevent, so firstly download the source files for Libevent.


tar -xvf libevent-1.3b.tar.gz
cd libevent-1.3b
./configure;make;make install;

Download the latest Memcached source code from danga.com


gunzip memcached-1.2.1.tar.gz
tar -xvf memcached-1.2.1.tar
cd memcached-1.2.1
./configure;make;make install;

Often libevent.so cannot be found when executing memcache. A useful command LD_DEBUG, is very helpful to determine where libraries are being loaded from.


LD_DEBUG=help memcached -v
 
LD_DEBUG=libs memcached -v 2>&1 > /dev/null | less
18990: find library=libevent-1.3b.so.1 [0]; searching

18990: trying file=/usr/lib/libevent-1.3b.so.1
18990:
memcached: error while loading shared libraries: libevent-1.3b.so.1: cannot open shared object file: No such file or directory

Simply place the library where memcached will find it and execute memcached.


ln -s /usr/local/lib/libevent-1.3b.so.1 /lib/libevent-1.3b.so.1
memcached -d -u nobody -m 512 127.0.0.1 -p 11211
 

The options for memcached are:

-l <ip_addr>  
Listen on <ip_addr>; default to INDRR_ANY. 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
Run memcached as a daemon.
-u <username>
Assume the identity of <username> (only when run as root).
-m <num>
Use <num> MB memory max to use for object storage; the default is 64 megabytes.
-M
Instead of throwing items from the cache when max memory is reached, throw an error
-c <num>
Use <num> max simultaneous connections; the default is 1024.
-k
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 <num>
Listen on port <num>, the default is port 11211.
-r
Maximize core file limit
-M
Disable automatic removal of items from the cache when out of memory. Additions will not be possible until adequate space is freed up.
-r
Raise the core file size limit to the maximum allowable.
-h
Show the version of memcached and a summary of options.
-v
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.
-i
Print memcached and libevent licenses.
-P <filename>
Print pidfile to <filename>, only used under -d option.

To install the pecl package for PHP

wget http://pecl.php.net/get/memcache-2.1.2.tgz
gzip -df memcache-2.1.2.tgz
tar -xvf memcache-2.1.2.tar
cd memcache-2.1.2
phpize
./configure;make;make install;

Add memcache.so to the php.ini file

extension=memcache.so

Then run

php -i | grep -i 'memcache'

memcache should be listed and then restart the web server.

For further information:
Distributed Caching with Memcached

7 Responses to 'Installing memcached'

Subscribe to comments with RSS or TrackBack to 'Installing memcached'.

  1. George_A said,

    on August 17th, 2007 at 5:17 am

    Very very well!!!

  2. pradeep kumar yadav said,

    on September 26th, 2007 at 9:26 am

    This is very good document ,very help full. I need to know how it used in application.

  3. Jonny Mac said,

    on October 24th, 2007 at 12:40 am

    thanks Andrew. Great Tutorial.


  4. on June 8th, 2008 at 9:56 am

    [...] další si můžete přečíst někde jinde. Tady půjde o jeho zprovoznění. Nebudu zde popisovat postup pro Linux, který je ale dost podobný. Na závěr se mrkneme i jak to celé rozchodit v PHP. V celé věci [...]

  5. GradaWepJer said,

    on September 1st, 2008 at 5:12 am

    89 free video

    clip daily free lesbian video

    board.com free hostname i.ru movie picture site story video

    straight guys gone gay videos

    free video of celebrity lesbian

  6. neraescaday said,

    on September 4th, 2008 at 8:29 pm

    test

  7. James said,

    on September 26th, 2008 at 12:34 pm

    What about upgrading?

    Any specific process that I would need to go through to upgrade memcached?

Leave a Reply


FireStats iconPowered by FireStats