Ir para conteúdo
  • Cadastre-se

Sistema de cache para sites


L2Raiz

Posts recomendados

Acelere o carregamento de seu site com PHP Caching!

Também conhecido como Cache de Objetos, essa técnica executa uma página PHP e armazena o conteúdo gerado em um arquivo HTML, e para os próximos acessos, durante um certo período, o servidor irá entregar esse HTML gerado.

Sem a necessidade de consultar o banco de dados ou executar algum tipo de programação para montar a página, o servidor além de conseguir entregar uma página mais rapidamente, também suportará um número maior de acessos concorrentes.

phpcaching-diagrama-de-atividades.jpg

Desenvolvimento:

Vou fazer um exemplo com script de  TOP PVP:

Na raiz do site crie uma pasta com nome de "cache" e outra com nome de "pages".

dentro de pages coloque o script de toppvp.php: 

Download: https://mega.nz/#!rEIS1AAJ!MiF3ZJFzRuLlvGAZc1V1cGJJ8988qH0uSkz2Lcw_AYI

na raiz do site crie um arquivo com nome de index.php (ou qualquer outro nome que desejar):

Download: https://mega.nz/#!KJQRGKpA!OCokF2619lf5O5xw2TmtPjtrLd-uXatHSN8c74r9clg

Obs:
Não esqueçam de editar o script de acordo com as suas configurações de conexão com banco de dados.
No arquivo index você deve configurar de acordo com os comentários que deixei lá! 

Coloque o site para rodar e faça o teste. Você vai notar uma mensagem na página:
Este ranking foi atualizado em 24/01/2019 as 15:25:04" 

Pronto. 

Editado por L2Raiz
removendo pagina do facebook

Curta a página do L2 Feel no Facebook

Link para o comentário
Compartilhar em outros sites


 

Cloudflare faz isso no site inteiro sem colocar nada nele!

Pensando no que você comentou, fiz um código para fazer no "site inteiro". 
Na raiz do site eu criei um arquivo com nome de "site.php":

<?php 
	if(isset($_GET['page'])) 
    {
		$page=$_GET['page'];
	if ($page=="boss") 
    {
		include('pages/boss.php');
	}
	if ($page=="toppvp") 
    {
		include('pages/toppvp.php');
	}	
	if ($page=="toppk") 
    {
		include('pages/toppk.php');
	}
	else
    {			
		include('includes/center.php');
	}
?>

Ou seja, se a url da página existir "?page=boss" ou "?page=toppvp" etc... 
Ele vai incluir a página que está na pasta "pages".
Se não existir o "?page=", ele vai incluir o "center.php" da pasta includes.

dai meu arquivo index.php com o cache ficou assim:

<?php
// Configurações
if(isset($_GET['page'])) 
{
	$page=$_GET['page'];
if ($page=="boss") 
{
	$pagina = "boss";
}
if ($page=="toppvp") 
{
	$pagina = "toppvp";
}	
if ($page=="toppk") 
{
	$pagina = "toppk";
}
$get = "site.php?page=";
$validadeEmSegundos = 600; // 5 minutos para rankings
}
else {
$validadeEmSegundos = 10; // 10 segundos na pagina incial
$pagina = "site.php";
$get = "";
}
$arquivoCache = 'phpcaching/'.$pagina.'.html';
$urlDinamica = 'm99:8080/'.$get.''.$pagina.'#rank'; //Meu endereço local (se você tem um site online, coloque o endereço online ali "www".

// Verifica se o arquivo cache existe e se ainda é válido
if (file_exists($arquivoCache) && (filemtime($arquivoCache) > time() - $validadeEmSegundos)) {

    // Lê o arquivo cacheado
    $conteudo = file_get_contents($arquivoCache);
} else {

    // Acessa a versão dinâmica
    $conteudo = file_get_contents($urlDinamica);

    // Cria o cache
    file_put_contents($arquivoCache, $conteudo);
}

// Exibe o conteúdo da página
echo $conteudo;

Dessa forma consegui fazer ficar em todas as páginas do site! 

Editado por L2Raiz

Curta a página do L2 Feel no Facebook

Link para o comentário
Compartilhar em outros sites

Não entenda meu comentário como critica, longe disso.

O grande problema e que a grande maioria dos membros não domina 40% de servidores e quando parte para area web 15% tem o conhecimento básico para criar ou adaptar certas coisas.

Bela iniciativa, só mencionei o Cloudflare pela questão da facilidade que muitos procuram, ao que aprender algo novo e util.

Abraços

Link para o comentário
Compartilhar em outros sites

 

Não entenda meu comentário como critica, longe disso.

O grande problema e que a grande maioria dos membros não domina 40% de servidores e quando parte para area web 15% tem o conhecimento básico para criar ou adaptar certas coisas.

Bela iniciativa, só mencionei o Cloudflare pela questão da facilidade que muitos procuram, ao que aprender algo novo e util.

Abraços

Eu curti seu comentário. Até porque eu não conhecia o "Cloudflare". Conhecimento nunca é de mais hahaha   

Curta a página do L2 Feel no Facebook

Link para o comentário
Compartilhar em outros sites

  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.