Códigos que um programador php pode escrever para melhorar o desempenho do seu site
- Utilização de cache A colocação em cache de dados pesados, como os resultados de consultas a bases de dados, pode reduzir a carga do servidor. A utilização de uma biblioteca como o Memcached ou o Redis pode armazenar os dados em cache e reutilizá-los sem repetir a consulta.
$cacheKey = 'user_data_' . $userId;
$cachedData = $cache->get($cacheKey);
if (!$cachedData) {
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$userId]);
$userData = $stmt->fetch();
$cache->set($cacheKey, $userData, 3600); // Cache por 1 hora
} else {
$userData = $cachedData;
}
- Compressão de saída A utilização da compressão Gzip para comprimir o HTML, CSS e JavaScript enviados para o cliente pode melhorar a velocidade de carregamento da página.
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
ob_start("ob_gzhandler");
} else {
ob_start();
}
- Minificação de ficheiros A minificação de CSS e JavaScript reduz o tamanho dos ficheiros carregados. Aqui está um exemplo básico de como reduzir o HTML gerado pelo PHP.
function minify_html($buffer) {
return preg_replace(['/>s+</', '/s+/'], ['><', ' '], $buffer);
}
ob_start("minify_html");
- Usando consultas preparadas e indexação no banco de dados A otimização de consultas SQL é essencial para melhorar o desempenho. A utilização de consultas preparadas com PDO e a garantia de que a base de dados está indexada corretamente podem fazer uma grande diferença.
$stmt = $pdo->prepare("SELECT * FROM articles WHERE category = ? AND status = ?");
$stmt->execute([$category, 'published']);
$articles = $stmt->fetchAll();
Pude testar alguns dos codigos acima citados e percebi uma grande diferença em termos de performance. Deixe-me saber se você obteve o mesmo resultado. Obrigado