Configurare memcached su Ubuntu
- Argomenti:
- Configurazione
- Cache
Creato per:
- Esperto
- Amministratore
- Sviluppatore
Questa sezione fornisce istruzioni per installare memcached su Ubuntu.
Poiché PHP non dispone di supporto nativo per memcache, è necessario installare un'estensione affinché PHP possa utilizzarla. Sono disponibili due estensioni PHP ed è importante decodificare quali utilizzare:
-
memcache
(no d), un'estensione precedente ma popolare che non viene mantenuta regolarmente.
L'estensionememcache
attualmente non funziona con PHP 7. Consulta la documentazione PHP per memcache.Il nome esatto è
php5-memcache
per Ubuntu. -
memcached
(con und
)—un'estensione più recente e mantenuta compatibile con PHP 7. Consulta la documentazione PHP per memcached.Il nome esatto è
php5-memcached
per Ubuntu.
Installare e configurare memcached su Ubuntu
Per installare e configurare memcached su Ubuntu:
-
In qualità di utente con privilegi
root
, immetti il comando seguente:apt-get -y update
apt-get -y install php5-memcached memcached
-
Modificare l'impostazione di configurazione memcached per
CACHESIZE
e-l
:-
Apri
/etc/memcached.conf
in un editor di testo. -
Individua il parametro
-m
. -
Cambia il valore in almeno
1GB
-
Individua il parametro
-l
. -
Cambia il valore in
127.0.0.1
olocalhost
-
Salvare le modifiche apportate a
memcached.conf
e uscire dall'editor di testo. -
Riavvia memcached.
service memcached restart
-
-
Riavvia il server web.
Per Apache,
service apache2 restart
-
Procedi alla sezione successiva.
Verifica del funzionamento di memcached prima di installare il Magento
L’Adobe consiglia di testare memcached per assicurarsi che funzioni prima di installare Commerce. Questa operazione richiede solo pochi minuti e può semplificare la risoluzione dei problemi in un secondo momento.
Verificare che memcached sia riconosciuto dal server web
Per verificare che memcached sia riconosciuto dal server web:
-
Creare un file
phpinfo.php
nella directory principale dei documenti del server Web:<?php // Show all information, defaults to INFO_ALL phpinfo();
-
Vai a quella pagina nel browser web. Ad esempio:
http://192.0.2.1/phpinfo.php
-
Assicurati che vengano visualizzati i seguenti display memcached:
Verifica di utilizzare memcached versione 3.0.5 o successiva.
Se memcached non viene visualizzato, riavviare il server web e aggiornare la pagina del browser. Se ancora non viene visualizzata, verificare di aver installato l'estensione
php-pecl-memcached
.
Verificare che memcached possa memorizzare i dati nella cache
Questo test utilizza uno script PHP per verificare che memcached possa memorizzare e recuperare i dati della cache.
Per ulteriori informazioni su questo test, vedere l'esercitazione Installazione e utilizzo di Memcache in Ubuntu.
Crea cache-test.php
nella directory principale dei documenti del server Web con il seguente contenuto:
$meminstance = new Memcached();
$meminstance->addServer("<memcached hostname or ip>", <memcached port>);
$result = $meminstance->get("test");
if ($result) {
echo $result;
} else {
echo "No matching key found. Refresh the browser to add it!";
$meminstance->set("test", "Successfully retrieved the data!") or die("Could not save anything to memcached...");
}
Dove <memcached hostname or ip>
è localhost
, 127.0.0.1
o il nome host o l'indirizzo IP memcache. <memcached port>
è la porta di ascolto; per impostazione predefinita, 11211
.
Vai a quella pagina in un browser web. Ad esempio
http://192.0.2.1/cache-test.php
La prima volta che accedi alla pagina, viene visualizzato quanto segue: No matching key found. Refresh the browser to add it!
Aggiorna il browser. Il messaggio diventa Successfully retrieved the data!
Infine, puoi visualizzare le chiavi memcache utilizzando Telnet:
telnet localhost <memcache port>
Al prompt, immetti
stats items
Il risultato è simile al seguente:
STAT items:2:number 1
STAT items:2:age 106
STAT items:2:evicted 0
STAT items:2:evicted_nonzero 0
STAT items:2:evicted_time 0
STAT items:2:outofmemory 0
STAT items:2:tailrepairs 0
STAT items:2:reclaimed 0
STAT items:2:expired_unfetched 0
STAT items:2:evicted_unfetched 0
Scaricare lo storage memorizzato nella cache di memoria e uscire da Telnet:
flush_all
quit