Red de conocimiento informático - Conocimiento informático - Vernáculo sobre la diferencia entre Memcache y Memcached

Vernáculo sobre la diferencia entre Memcache y Memcached

¿Qué es Memcache?

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.

.