Jump to content
Fernando_Henrique

Problema com cache

Recommended Posts

Olá amigos

Estou com um pequeno problema em um sistema PHP. 

Periodicamente venho fazendo algumas atualizações no sistema web como alteração nos arquivos html, js e css porém como esperado essas alterações não são sentidas nos navegadores da maioria dos clientes, até que eles limpem o cache ou CRTL + F5. Assim estou tendo grandes problemas, pois além do layout do sistema, também esta afetando mascaras como por exemplo campos de preço onde deveria auto preencher com formato de preço(R$ 0,00), algumas regras como por exemplo campos que devem ser convertidos para letras maiúsculas. Pra resolver esse problema comecei a versionar os arquivos há cada atualização, assim foi resolvido na maioria dos navegadores, porém ainda tenho casos que o problema persiste. 

Alguma dica do que mais pode ser feito para que consiga afetar todos os clientes ? 

 

Share this post


Link to post
Share on other sites

A solução irá gerar mais problema do que o problema em sí.

Quando se acessa um website pela primeira vez, o browser faz o download de arquivos js e css e armazena-os em cache, para que da próxima vez aquele website seja carregado mais rápido. Ou seja ele não fará o download novamente e sim reutilizará os dados já em cache.

 

Se pensar também sobre as tarifas mobile cobrado no brasil que são abusivamente caras, forçar um novos downloads dos arquivos é "dar um tiro no pé".

 

O ideal é que termine a aplicação só então disponibilize online para acesso assim você evita qualquer problema.

Você pode configurar navegadores para não salvar cache durante o processo de produção, assim terminar sua ferramenta só então colocar-la em nuvem.

 

Não irei postar como você pode forçar esses novos downloads porque isso vai contra as boas práticas na web e muitos leigos adotariam esse método poluindo ainda mais a web. Mas posso lhe responder por MP, caso seja vitalmente necessário "coisa que não acho que seja".

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By user2112
      Pessoal, estou iniciando em JS e fazendo meus scripts no bloco de notas mesmo. Depois vou simplesmente abrir o .html pra ver o resultado.
       
      Mas as vezes ocorre de eu atualizar o arquivo .js e quando vou rodar o .html, ele ainda não atualizou minha mudança, como se tivesse cacheado uma versão antiga do .html
      Então tenho que dar refresh várias e várias vezes pra ver a mudança.
       
      Como vocês lidavam com isso?
    • By avner.max
      Preciso desenvolver um simulador de cache, onde eu consiga testar o desempenho de algoritmos de ordenação (Quick sort, Selection sort e Bubble sort) em relação a memória cache e imprimir a taxa de Cache Miss e Cache Hit de leitura e gravação de cada um dos três algoritmos.
      Minha dúvida é, como fica o algoritmo de ordenação nesse caso?
       
      São passados para a escolha do usuário os seguintes dados: Quantidade máxima de palavras na cache (tamanho da cache), quantidade de palavras por bloco, tipo de mapeamento, tipo de associatividade, política de substituição e política de escrita.
      Preciso fazer o algoritmo de ordenação cumprir cada um deles, quando for ler/gravar no vetor que representa a cache e no vetor que representa a memória. Porém não estou conseguindo imaginar como deve ficar o algoritmo de ordenação.
       
      Se alguém puder me dar uma luz, iria ficar muito agradecido!
      Grande abraço a todos.
    • By Felipe Evangelista
      Estou com um problema com cache e nada está dando conta de resolver. Já tentei usar o plugin fastest cache e o wp supercache, além de usar a extensão do chrome Cache Killer e editar o php.ini pra desativar o cache, mas as mudanças de css e javascript não estão aparecendo, até aparecem, quase um dia depois kkk Alguém já teve esse problema e sabe como resolver?
       
      O site é hospedado na Hostgator e caso seja necessário eu posso passar o link pra verem. 
    • By Thiago Moraes
      Olá, levando em conta o desempenho, qual seria a melhor forma de salvar um cache dados? Json, array php, xml, outro?
       
      Agradeço as sugetões
    • By Cuattrin
      Bom dia, 
       
      Possuo um site chamado www.nucleodequalificacao.com.br o mesmo funciona perfeitamente no quesito exibir as informações que estão no banco de dados. O problema é que em Dezembro o pessoal da Hospedagem atualizaram os seus servidores e o cliente não experimentou o funcionamento interno do site, apenas olhou o link principal e viu que estava funcionando.
       
      Hoje quando ele foi entrar no painel de controle do site, não conseguiu, achou que era a senha, e ai me ligou para confirmar, passei a senha correta do site, e mesmo assim ele não conseguia, então acho que tem haver com a atualização que fizeram no servidor em relação ao PHP, pra prior nao consigo lembrar se teria alguma configuração extra a mudar no servidor para habilitar algo que habilitei a 9 anos atrás.
       
      O site está no link  www.nucleodequalificacao.com.br/painel/index2.php
      Quando tenta logar em as mensagens de erro funcionam mais, e como se ele piscasse, fizesse algo e não retornasse nada.
       
      Seu codigo é
       
      <?
      include_once('conecta.php');
      if ($acao == 'logar') {
        $erro = '<BR><p align="center" style="background-color:#E6D9E6"><span class="lilas_escuro">LOGANDO!</span></p><BR>';
       if ($login_x == '') {
          echo "<script language=javascript>alert( 'Insira seu Login!' );</script>";
       }  else if ($senha_x == '') {
          echo "<script language=javascript>alert( 'Insira sua Senha!' );</script>";
       } 
       
       else {
         $sql = mysql_query("SELECT * FROM usuarios  WHERE login='$login_x' LIMIT 1");
         if (mysql_num_rows($sql) != '1') {
            $erro = '<BR><p align="center" style="background-color:#E6D9E6 "><span class="lilas_escuro">Esse Usuário Não Existe!</span></p><BR>';
         } else {
       
          $usuario = mysql_fetch_array($sql);
          
           if ($usuario['senha'] != $senha_x) {
              $erro = '<BR><p align="center" style="background-color:#E6D9E6"><span class="lilas_escuro">Senha Incorreta!</span></p><BR>';
           }
           else {
           
           
            $id = $usuario['id'];
            $nome = $usuario['nome'];
            $login = $usuario['login'];
            $senha = $usuario['senha'];
            $email = $usuario['email'];
            $obs = $usuario['obs'];
            $nivel = $usuario['nivel'];
            
            
            
                 $logado = '1';
           session_start('Nucleo');
           session_register('id', 'nome', 'login', 'senha', 'email', 'obs', 'nivel', 'logado');
           echo ("<script language='javascript'>location.href='vagas.php'</script>");
          
           }
           
         }
       }
      }
      ?>
      <?=$login?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <? include("meta_titulo.php") ?>
      <link rel="stylesheet" href="estilos.css" type="text/css">
      <script src="scripts.js" language="javascript"></script>
      </head>
      <body scroll="yes">
      <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td align="center" valign="top"><table width="380" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="borda">
            <tr>
              <td><table width="100%" height="44" border="0" cellpadding="0" cellspacing="0" bgcolor="#F5FBE9">
                <tr>
                  <td width="22%" align="left"><img src="../imagens/topo.gif" width="212" height="44" border="0" /></td>
                  </tr>
              </table></td>
            </tr>
            <tr>
              <td height="2" bgcolor="#FFFFFF"></td>
            </tr>
            <tr>
              <td height="30">&nbsp;</td>
            </tr>
            <tr>
              <td><table width="380" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td>&nbsp;</td>
                  <td width="348" align="left" valign="top" class="linha"><strong><span class="lilas_escuro">PAINEL DE CONTROLE</span></strong></td>
                  <td align="center">&nbsp;</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td align="left" valign="top" class="linha">&nbsp;</td>
                  <td align="center">&nbsp;</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td align="center" valign="top" class="linha"><span class="style4"><?php echo $erro; ?></span></td>
                  <td align="center">&nbsp;</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td align="center" valign="top" class="linha"><strong>Informe seu login e senha </strong><span class="lilas_claro"><br />
                      <br />
                  </span></td>
                  <td align="center">&nbsp;</td>
                </tr>
                <tr>
                  <td width="17">&nbsp;</td>
                  <td align="left" valign="top" class="linha"><form id="formulario" name="formulario" method="post" action="<?=$PHP_SELF?>?acao=logar">
                    <table width="100%" border="0" cellspacing="2" cellpadding="3">
                   
                      <tr>
                        <td width="27%" bgcolor="#F5F8F1" class="lilas_claro"><div align="right">Login</div></td>
                        <td width="73%" bgcolor="#F5F8F1"><input name="login_x" type="text" class="formulario" id="login_x" style="WIDTH:200px" /></td>
                      </tr>
                      
                      <tr>
                        <td bgcolor="#F7F2F7" class="lilas_claro"><div align="right">Senha</div></td>
                        <td bgcolor="#F7F2F7"><input name="senha_x" type="password" class="formulario" id="senha_x" style="WIDTH:200px" /></td>
                      </tr>
                     
                      <tr>
                        <td height="50" colspan="2" align="center" class="lilas_claro"><p>
                          <br />
                          <input name="enviado" type="submit" class="botao" value="Entrar" />
                        </p>
                          <p>&nbsp; </p></td>
                      </tr>
                      
                    </table>
                              </form>
                  <br />
                    </td><td width="15" align="center">&nbsp;</td>
                  </tr>
              </table></td>
            </tr>
          </table>
          </td>
        </tr>
      </table>
      </body>
      </html>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.