Vernáculo sobre la diferencia entre Memcache y Memcached
Memcache es un sistema de almacenamiento en caché de objetos de memoria asignada de alto rendimiento, gratuito y de código abierto. Se utiliza para acelerar aplicaciones web dinámicas y reducir la carga de la base de datos. Debido a que funciona abriendo un espacio en la memoria y luego creando una tabla hash, Memcached puede autoadministrar estas tablas hash.
Memcached es simple pero poderoso. Su diseño simple promueve una implementación rápida, facilita los problemas de desarrollo y resuelve muchos problemas con grandes cachés de datos. Su API admite los idiomas más populares.
Sitio web oficial de Memcache:/files/memcached-1.4.15.tar.gz
tar xzf memcached-1.4.15.tar.gz
cd memcached -1.4.15
./configure --prefix=/usr/local/memcached
hacer y realizar instalación
ln -s /usr /local/ memcached/bin/memcached /usr/bin/ memcached
/bin/cp scripts/memcached.sysv /etc/init.d/memcached
sed -i 's @^USUARIO =.*@USER=root@' /etc/init.d/memcached
sed -i 's@chown@#chown@' /etc/init.d/memcached
sed -i 's@/var/run/memcached/memcached pid@/var/run/memcached.pid@' /etc/init.d/memcached
sed -i 's@^ prog=.*@prog="/usr/local/memcached/bin/memcached"@' /etc/init.d/memcached #El siguiente es un enlace suave, que se puede omitir aquí
chmod x /etc/init.d/memcached
chkconfig --ad memcached
chkconfig memcached en
cd .
iniciar memcached:
inicie el servicio memcached #o ejecute lo siguiente
memcached -p 11211 -l 127.0.0.1 -d -u root -P /var/run/memcached.pid -m 64M - c 1024
Descripción de varios parámetros:
-p puerto TCP, memcached escucha en este puerto
-l dirección IP, 127.0.0.1 es la dirección local Por supuesto, también puede escribir la dirección IP del servidor. Por ejemplo, 10.0.0.10 es la dirección IP de mi servidor. Si necesita varios servidores para leer los datos almacenados en caché de este memcached, debe configurar esta dirección IP.
-d se ejecuta como un proceso demonio y pone el programa en segundo plano
-u El usuario de memcached, lo configuré como nadie
-P El ruta al archivo pid de memcached
p>-m La capacidad máxima de memcached que se puede utilizar.
La capacidad máxima de memoria que puede usar Memcached
-c La cantidad máxima de conexiones que Memcached puede aceptar simultáneamente
Si desea acceder a Memcached en modo socket, debe eliminar -l y - Al iniciar el parámetro p, y agregue el parámetro -s:
-s La ruta al archivo de socket de Memcached
Instale la extensión de Memcache en php:
tar xzf memcache- 2.2.7.tgz
cd memcache-2.2.7
/usr/local/php/bin/ phpize
./configure - -with-php -config=/usr/local/php/bin/php-config
make amp; make install
cd ./
Según mi entorno, el memcache.so compilado se generará automáticamente en el directorio /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/. Si su entorno es diferente, debe modificarlo de acuerdo. a su propia situación.
.
Lo siguiente que debe hacer es dejar que php cargue la extensión, edite php.ini y agregue la siguiente línea en el lugar apropiado (generalmente al final, pero también puede ser un archivo ini separado):
p>
extension=memcache.so
Luego reinicie php o apache y ejecute phpinfo() para confirmar, si funciona debería ver: memcache
php-memcache Ejemplo de uso simple:
lt;?php
$memcache = new Memcache;
$memcache-gt.connect('127.0. 0.1','11211 ');
$memcache-gt; setCompressThreshold(20000, 0.2); // Establece la compresión
echo $memcache-gt; Salida de versión memcached
p>$test = array(1, 2, 3, 4, 5, 'abcde'); // Generar matriz
if($memcache-gt; get('prueba')) {
print_r($memcache-gt; get(' prueba')); //obtener datos
echo "\n"; >
echo 'en caché ';
echo "\n";
}else{
$memcache-gt; $prueba, 0, 30) ; //escribir datos <
echo 'sin caché'
echo "\n"; /p>
en Instale el componente de extensión memcached en php (instalador LNMP con un solo clic):
La última versión de ibmemcached-1.0.17.tar.gz puede informar un error
error: 'HAVE_MEMCACHED_BINARY' no se declaró en este ámbito
No hay problema con libmemcached-1.0.16.tar.gz
Instale de la siguiente manera:
wget /libmemcached/1.0/1.0.16/ download/libmemcached-1.0.16.tar.gz
wget /get/memcached-2.1.0.tgz
tar xzf libmemcached -1.0.16.tar.gz
cd libmemcached-1.0.16
./configure --with-memcached=/usr/local/memcached
hacer amp amp; hacer instalar
cd .
tar xzf memcached-2.1.0.tgz
cd memcached-2.1.0
/usr/local/php/bin/ phpize
./configure--with-php-config=/usr/local/php/bin/php-config
make & make install
Según mi entorno, el memcached.so compilado se genera automáticamente en /usr/local/php/lib/php/extensions/no-debug -non -zts-20121212/ directorio, si su entorno es diferente, debe modificar php.ini según su propia situación.
Lo siguiente que debe hacer es hacer que PHP cargue la extensión, edite php.ini y agregue la siguiente línea en la ubicación adecuada (generalmente al final, pero también puede ser un archivo ini separado):
extension=memcached.so
Luego puedes cargar la extensión en php.ini. Entonces
Luego reinicie php o apache y ejecute phpinfo() para confirmar, si funciona, debería ver: memcached
Resumen:
En realidad es muy simple , memcache es una extensión de php, utilizada para administrar memcached (lado del servidor), php-memcache.
Si instala memcached (lado del servidor) sin instalar la extensión, entonces php no podrá operar memcached , pero no hay problema en usarlo desde la línea de comandos
Si tienes instalado el cliente PHP memcache (php memcache y php memcached). Pero si el servicio Memcached (del lado del servidor) no está instalado, entonces esto no funcionará
Solo instalando Memcached (del lado del servidor) y la extensión del cliente PHP Memcache se puede mejorar el rendimiento de los sitios web dinámicos.
.