[Admin] tierrilopes Posted March 24, 2017 Share Posted March 24, 2017 Contador para números de jogadores em cada reino. Citando outro post: Hoje em dia, a maioria dos websites, cada vez que a página é carregada executa uma query para obter os jogadores online consoante o last_play. Isto pode ser abusado para sobrecarregar a base de dados. Uma alternativa bastante simples e rápida de implementar é fazer com que esta query só seja executada uma vez a cada 5 minutos por exemplo, independentemente do número de acesso na página. Para tal, criar este ficheiro na base do vosso dedicado (será usado /cron_rank_jogadores.php como exemplo) e colar o seguinte conteúdo: Hidden Content Give reaction to this post to see the hidden content. Ajustar a localização do ficheiro dump_rank_jogadores.php (caso seja diferente) Preencher os dados de ligação à base de dados e gravar o ficheiro. Criar um ficheiro vazio chamado dump_rank_jogadores.php (na localização definida no código acima) e dar-lhe permissões 646. Abrir o ficheiro /etc/crontab Debaixo de: Hidden Content Give reaction to this post to see the hidden content. Colar isto debaixo: Hidden Content Give reaction to this post to see the hidden content. No vosso ficheiro index.php (ou onde tiverem o código de jogadores online), adicionem o seguinte no topo do ficheiro (após <?php): Hidden Content Give reaction to this post to see the hidden content. Para mostrar o resultado, devem ter um echo/print com a variável de uma query. Basta mudarem/adicionarem o nome dessas variáveis. Mostrar jogador no primeiro lugar: Hidden Content Give reaction to this post to see the hidden content. Mostrar jogador no segundo lugar: Hidden Content Give reaction to this post to see the hidden content. Mostrar jogador no terceiro lugar: Hidden Content Give reaction to this post to see the hidden content. Mostrar jogador no quarto lugar: Hidden Content Give reaction to this post to see the hidden content. Mostrar jogador no quinto lugar: Hidden Content Give reaction to this post to see the hidden content. Reiniciar o crontab com o seguinte comando: Hidden Content Give reaction to this post to see the hidden content. O crontab chamará o ficheiro /cron_rank_jogadores.php a cada 5 minutos. Executará duas query, na qual obterá o top 5 jogadores, ordenados por nivel mais alto e por maior quantidade de experiência. Excluirá as contas que não estiverem normais (account_status = OK) e nomes começados por [ (para excluir os GM). Gravará tudo para o ficheiro dump_raking_jogadores.php Desta maneira, todos os pedidos ao website utilizarão a informação colocada no ficheiro dump_ranking_jogadores.php, poupando bastantes querys. (duas por carregamento de página) Exemplo: Hidden Content Give reaction to this post to see the hidden content. Hidden Content Give reaction to this post to see the hidden content. Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted September 28, 2017 Author Share Posted September 28, 2017 Correção de texto. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now