
Passo a passo ensinando a como configurar o Memcache no Magento 2.
Memcache é o módulo que fornece a relação processual e orientada a objeto para o memcached, cache daemon altamente eficaz, que foi especialmente projetado para reduzir a carga de banco de dados em aplicações dinâmicas
O Magento irá utilizar o memcached para armazenamento de sessão, mas não para o cache de página. Para o cache de páginas, recomendamos Redis ou Varnish.
Observação: é necessário que o módulo esteja corretamente instalado e habilitado em seu servidor web para que você possa utiliza-lo.
Primeiro passo é editar o arquivo env.php que está localizado no diretório: app/etc/env.php
Altere:
'session' => array ( 'save' => 'files', ),
Para:
'session' =>
array (
'save' => 'memcache',
'save_path' => 'tcp://<memcache ip or host>:<memcache port>'
), Para verificar a utilização do memcached, delete o conteúdo dos seguintes diretórios:
Utilize o comando:
rm -rf var/cache/* var/page_cache/* var/session/*
Navegue por qualquer página no frontend e backend, se nenhum erro ocorrer a configuração está correta.
Caso ocorra um erro, como: HTTP 500 (Internal Server Error), verifique se você cometeu algum erro de sintaxe no arquivo env.php e se o módulo está devidamente instalado e configurado para o PHP em seu servidor.
Tanto o memcache quanto o memcached têm parâmetros de inicialização opcionais que estão além do escopo deste post.
Você pode encontrar mais informações sobre eles na documentação memcache ou memcached.
Verificando se o memcache está instalado no PHP.
Utilize o seguinte código:
<?php
if (class_exists('Memcache')) {
$server = 'localhost';
if (!empty($_REQUEST['server'])) {
$server = $_REQUEST['server'];
}
$memcache = new Memcache;
$isMemcacheAvailable = @$memcache->connect($server);
if ($isMemcacheAvailable) {
$aData = $memcache->get('data');
echo '<pre>';
if ($aData) {
echo '<h2>Data from Cache:</h2>';
print_r($aData);
} else {
$aData = array(
'me' => 'you',
'us' => 'them',
);
echo '<h2>Fresh Data:</h2>';
print_r($aData);
$memcache->set('data', $aData, 0, 300);
}
$aData = $memcache->get('data');
if ($aData) {
echo '<h3>Memcache seem to be working fine!</h3>';
} else {
echo '<h3>Memcache DOES NOT seem to be working!</h3>';
}
echo '</pre>';
}
}
if (!$isMemcacheAvailable) {
echo 'Memcache not available';
}
?> Execute pelo o browser e verifique o output.
Você também pode utilizar o comando:
php -m | grep memcache
Ou o comando a seguir para listar todos os módulos habilitados no PHP:
php -m
Pedido que não fatura e e-mail que não sai porque todo job fica missed: como ler a cron_schedule, conferir o…
Uma função curta em PHP 8.3 que transforma Camiseta Preta Tamanho GG em camiseta-preta-tamanho-gg, sem depender do locale do servidor.
O banner registra o clique só no navegador e some. Veja a tabela MySQL e o endpoint que gravam a…
A classe do comando existe e o bin/magento list ignora ela. Falta o registro no di.xml: aqui vai a classe…
Como traduzir duas mil linhas do pt_BR.csv do Magento 2 lendo com fgetcsv e regravando com fputcsv, sem encostar na…
Produto variável respondendo "Desculpe, este produto não está disponível" mesmo com a variação ativa: limpe os transients do WooCommerce e…