« Cómo migrar un repositorio SVN | Home | MD5 Hash »
Instalar PHP5 Memcache Extension Module en RedHat
By creacciona | December 5, 2008
Memcache es un sistema para almacenamiento de objetos en memoria que actúa como caché para acelerar el rendimiento de aplicaciones web. Memcache ha sido diseñado de manera genérica aunque su mayor utilidad y para la que fue desarrollado inicialmente es para reducir la carga en sitios web debido a las solicitudes a base de datos que en muchos casos son innecesarias.
Memcache fué desarrollado por Danga Interactive para el site livejournal, pero luego liberado bajo licencia BSD. Hoy en día es empleado por muchos otros sitios webs debido a su gran utilidad, entre ellos: Livejournal, Slashdot, Wikipedia, SourceForge, FotoLog, …
El funcionamiento de memcache es sencillo. En lugar de acceder a la base de datos para solicitar determinada información primero se accede a memcached (el servidor de memcache) a través del protocolo TCP/IP (así se puede acceder a servidores memcache en máquinas remotas o en local). Si este tiene la información, la devuelve y si no, debemos hacer la petición a la base de datos e introducir los datos en memcached para que puedan ser usados la próxima vez que los necesitemos. Además, memcached tiene un tiempo de expiración, tras pasar este tiempo almacenado en el servidor este se considera descartable y se borra del servidor, dejando espacio para otros objetos.
Memcaché está basado en la libreria libevent, se encarga de la notificación de eventos asíncrona que permite ejecutar callbacks cuando un determinado evento es disparado (además de eventos puede reaccionar a señales o a intervalos de tiempo específicos, más adelante quizás le dedique un post a esta librería).
(nota: Antes de empezar a instalar esta extensión como módulo PHP debemos tener instalado el demonio memcached):
Instalación del demonio memcached
1. Descargar e instalar ‘libevent’ (dependencia de memcached)
w get http://www.monkey.org/~provos/libevent-1.4.8-stable.tar.gz
tar xfz libevent-1.4.8-stable.tar.gz
cd libevent-1.4.8-stable
./configure && make && sudo make install
2. Crear un enlace limbólico a libevent
sudo ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib
3. Descargar e instalar el demonio memcached
wg et http://danga.com/memcached/dist/memcached-1.2.6.tar.gz
tar xfz memcached-1.2.6.tar.gz
cd memcached-1.2.6
./configure && make && sudo make install
4. Ejecutar memcached como demonio (d = daemon, m = memory, u = user, l = IP to listen to, p = port)
memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211
Instalación de PHP5-Memcache
En caso de no poder instalarlo como paquete, se compila del fuente.
La ruta del paquete de PECL:
http://pecl.php.net/get/memcache-2.2.4.tgz
Instalación de la extensión de PHP MemCache:
cd /files/download/
w get http://pecl.php.net/get/memcache-2.2.4.tgz
tar -xvf memcache-2.2.4.tgz
cd memcache-2.2.4
phpize && ./configure—enable-memcache && make
Copiar el archivo memcache.so al directorio de módulos por defecto.
vi /etc/php.ini
Añadir la linea que carga la extensión:
extension=memcache.so
/etc/init.d/httpd restart
If you check your phpinfo() you should see a MemCache section appear.
You can now fully use the MemCache functionality in your PHP.
1. Download the extension module
apt-get install php5-memcache
2. Edit /etc/php5/conf.d/memcache.ini and uncomment the following line by removing the semi-colon
extension=memcache.so
3. Restart apache
/etc/init.d/apache2 restart
1. Test de la instalación
2. Create a file ‘memcache_test.php’ in your webroot and paste the following:
< ?php
$memcache = new Memcache;
$memcache->connect(‘localhost’, 11211) or die (“Could not connect”);
$version = $memcache->getVersion();
echo “Server’s version: ”.$version.”
\n”;
$tmp_object = new stdClass;
$tmp_object->str_attr = ‘test’;
$tmp_object->int_attr = 123;
$memcache->set(‘key’, $tmp_object, false, 10) or die (“Failed to save data at the server”);
echo “Store data in the cache (data will expire in 10 seconds)
\n”;
$get_result = $memcache->get(‘key’);
echo “Data from the cache:
\n”;
var_dump($get_result);
?>
1. Test to see if the file renders in your browser
Cheers!
Tags: Apache, CIA, demo, Desarrollo web, Descargar, Form, function, hd, httpd, información, instalación, librería, Live, Mac, ORM, PHP, protocolo tcp, rendimiento, servidor, servidores, TCP/IP, webRelated posts
Topics: Desarrollo web | No Comments »






