« first day (2439 days earlier)      last day (1632 days later) » 

00:34
@SamuelIves trabalhando bem o back-end não vai dar gargalho, para resolver problemas de conexão no banco, q geralmente ultrapassava 150 conexões e travava tudo eu fiz um sistema de PUSH no backend, basicamente quando ocorria insert ou update também era gerado um TXT q servia como sinal para dizer q tem coisa nova no banco, então só fazia consultas no banco se o tal TXT tivesse atualizado
diminui de 150 conexões para uma média de 1 a 17 conexões por HORA, antes em 10 min estourava 150
e assim não precisei contratar nenhum MEGA plano de banco de dados
 
1 hour later…
01:39
@GuilhermeNascimento daora a ideia do sistema de Push, uma ótima ideia mesmo
 
17 hours later…
18:40
@GuilhermeNascimento excelente ideia, como você faz pra saber se ta atualizado?
19:25
@SamuelIves na verdade para cada usuário do sistema eu tenho q criar um TXT, pq o "PUSH" tem que ser exclusivo, o INSERT/UPDATE no momento que ocorre tem que atualizar ou gerar (se nao existir) o TXT que representa o usuário e nele é prefixado o nome da tabela, portanto podem existir varios TXTs para cada usuário, então ocorreu um INSERT na tabela foobar, vai gerar para 10 usuarios, 10 arquivos TXT com o nome mais ou menos assim 1.foobar.txt e 2.foobar.txt, o 1 e 2 são os IDs de usuário
Funções:

    function push_sent($table, $users)
    {
        foreach ($users as $user) {
            file_put_contents("pushs/{$table.$user}.txt", '1');
        }
    }

    function push_check($table, $user)
    {
        return file_get_contents("pushs/{$table.$user}.txt") == '1';
    }

Página que fez um pedido de um produto

    $link = mysqli_connect();

    if (mysqli_query($link, 'INSERT foobar')) {
        push_sent('foobar', $arrayDeIdDeUsuarios);
    }

Página via Ajax para consultar atualizações
essa é uma versão bem simplificada do que eu fiz, dá pra fazer melhor, um PUSH global para cada tabela sem precisar gerar PUSHs para cada usuario, basicamente o que deve ser gerado é uma flag "checked" em outro arquivo para confirmar que o PUSH foi lido e usar o filemtime()

« first day (2439 days earlier)      last day (1632 days later) »