Memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
1. Setting-up RPMForge repository. RPMForge repository (http://dag.wieers.com) is the biggest rpm repository for RHEL, and CentOS for all versions. Set up the RPMForge repository as mentioned here.
2. Install Memcached.
Use yum to install memcached
yum -y install memcached
As soon as the Memcached installation is completed, edit options for Memcached in /etc/sysconfig/memcached to meet your need.
vi /etc/sysconfig/memcached
PORT=”11211″ #define on which port to run USER=”nobody” #same as apache user MAXCONN=”1024″ #maximum number of connections allowed CACHESIZE=”64″ #memory used for caching OPTIONS=”" #use for any custom options
Save the file. All options can be seen by using the following command
memcached -h
Start memcached
/etc/init.d/memcached start Starting Distributed memory caching (memcached): [ OK ]
To check the running status of memcached
/etc/init.d/memcached status memcached (pid 6475) is running…
and
netstat -anp | grep 11211 tcp 0 0 :::11211 :::* LISTEN 6475/memcached udp 0 0 0.0.0.0:11211 0.0.0.0:* 6475/memcached
3. Install PHP Extension.
Download and install the latest stable memcache version from PECL.
cd /usr/local/src wget http://pecl.php.net/get/memcache-2.2.7.tgz tar zxvf memcache-2.2.7.tgz cd memcache-2.2.7 phpize ./configure make make install
memcache.so will be installed in the php modules directory, now enable memcache.so extension in php.ini
To find out your php.ini location, execute the following command
php -i | grep php.ini Configuration File (php.ini) Path => /usr/local/lib Loaded Configuration File => /usr/local/lib/php.ini
vi /usr/local/lib/php.ini
extension = “memcache.so”
Save the file and restart httpd server.
/etc/init.d/httpd restart
To check if the memcache extension is loaded in php, execute the following command.
php -i | grep memcache memcache memcache support => enabled memcache.allow_failover => 1 => 1 memcache.chunk_size => 8192 => 8192 memcache.default_port => 11211 => 11211 memcache.default_timeout_ms => 1000 => 1000 memcache.hash_function => crc32 => crc32 memcache.hash_strategy => standard => standard memcache.max_failover_attempts => 20 => 20 Registered save handlers => files user sqlite memcache PWD => /usr/src/memcache-2.2.7 _SERVER["PWD"] => /usr/src/memcache-2.2.7 _ENV["PWD"] => /usr/src/memcache-2.2.7
This information can also be seen using phpinfo().