ja pensou em salvar no cache a view ja renderizada ?

certa vez quebrei a cabeca p salvar no cache o resultado de uma consulta,
mas depois percebi q o q u precisava realmente era
a view renderizada ;)

nao sei se se aplica ao seu caso, mas ... nao custa falar :D

[]'s
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -


Luiz Alberto S. Ribeiro [ Beto ]
http://beto.euqueroserummacaco.com






2010/7/29 Diego Viana <[email protected]>

> Pessoal... consegui resolver, quero dizer, acho que consegui
> né... :) ... Porém, dá um trabalhinho...
>
> Não sei por qual motivo ele não salva no cache os dados vindos do
> $this->db ou objetos... para salvar no cache eu tive que montar um
> array dos dados e salvar, daí deu certo...
>
> Fiz um teste aqui e realmente ele está retornando os dados do $this-
> >cache->get();
>
> Não estou usando ORM poque é uma consulta um pouco complexa, portanto,
> escrever seria a melhor alternativa... :D
>
> Vou continuar monitorando aqui... Mas vlw por enqto gente...
>
>
>
> On 29 jul, 19:01, Rodrigo Oliveira <[email protected]> wrote:
> > Opá Diego.
> >
> > Eu fiz algo parecido semana passada aqui na empresa pra um projeto, mas
> uso
> > o K3 e ORM.
> > Tive muitos problemas pra gerenciar o cache pelo eAccelerator tbm; mudei
> pro
> > APC/Memcache e ficou tudo certo. Tbm dava essa tela branca do mau pra
> mim.
> >
> > Senão me engano, tanto o DB quanto o Model retornam instância *_Result.
> Se
> > tentar gravar isso no cache direto não vai adiantar, por causa da
> > propriedade (K3 é "$_reload_on_wakeup"; não lembro como é no K2). Ele vai
> > forçar refazer a consulta com o qual esse result foi gerado. Utilize tbm
> > "->as_array()" (no K3, não lembro se tem isso no K2).
> >
> > Utilizando um Model vc pode setar isso pra FALSE q ele já não vai mais
> > recarregar. No eAccelerator isso dava pal pra mim, só mudando pra outro
> > mesmo que consegui.
> >
> > E não se esqueça de utilizar serialize e unserialize pra gravar os dados
> no
> > cache.
> >
> > Espero ter ajudado.
> > Abraço.
> >
> > 2010/7/29 Marcelo Rodrigo <[email protected]>
> >
> >
> >
> > > Olá Diego,
> >
> > > Página branca? Dá uma conferida no teu display_errors
> > > Se me permite, sugiro colocar esta logica relacionada ao banco num
> model,
> > > encaixaria melhor no conceito de MVC.
> >
> > > Abraço,
> >
> > > Marcelo Rodrigo
> >
> > > Em 29 de julho de 2010 18:14, Diego Viana <[email protected]
> >escreveu:
> >
> > > Pessoal, estou tentando aumentar o desempenho da minha aplicação
> > >> usando o sistema de cache do Kohana... Meu driver é o eAccelerator e
> > >> deixei o application/config/cache.php assim:
> >
> > >> $config['default'] = array
> > >> (
> > >>        'driver'   => 'eaccelerator',
> > >>        'params'   => '',
> > >>        'lifetime' => 1800,
> > >>        'requests' => 1000
> > >> );
> >
> > >> E aí eu fiz o seguinte na minha aplicação... Na view da página eu
> > >> chamo um helper que eu criei que retorna dados de uma consulta ao
> > >> banco...
> >
> > >> view/minha_view.php
> > >> $conteudo = meu_helper::get_content();
> >
> > >> foreach ($conteudo as $content){ ... }
> >
> > >> Bom até aí normal... O que eu quero é guardar no cache esse conteudo
> > >> que meu helper retorna... Portanto, no meu helper eu fiz o seguinte...
> >
> > >> helpers/meu_helper.php
> > >> function get_content(){
> > >>        $dados = $this->cache->get('conteudo');
> >
> > >>        if ($dados){
> > >>                return $dados;
> > >>        } else {
> > >>                $sql = "query_sql";
> > >>                $dados = $this->db->query($sql);
> >
> > >>                $this->cache->set('conteudo', $dados);
> >
> > >>                return $dados;
> > >>        }
> > >> }
> >
> > >> Essas vars $this->db e $this->cache eu setei no meu controller
> > >> principal que extends o Template_Controller...
> >
> > >> O problema é que usando isso, dá tela branca pra mim... simplesmente
> > >> não mostra nenhum erro, não mostra nada, apenas a tela branca... Já
> > >> testei o eAccelerator e está funcionando corretamente...
> >
> > >> Estou usando o Kohana 2.3 e eAccelerator v0.9.5.2...
> >
> > >> --
> > >> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> > >> Php" dos Grupos do Google.
> > >> Para postar neste grupo, envie um e-mail para
> [email protected]
> > >> .
> > >> Para cancelar a inscrição nesse grupo, envie um e-mail para
> > >> [email protected]<kohana-php%[email protected]>
> <kohana-php%[email protected]<kohana-php%[email protected]>
> >
> > >> .
> > >> Para obter mais opções, visite esse grupo em
> > >>http://groups.google.com/group/kohana-php?hl=pt-BR.
> >
> > >  --
> > > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php"
> > > dos Grupos do Google.
> > > Para postar neste grupo, envie um e-mail para
> [email protected].
> > > Para cancelar a inscrição nesse grupo, envie um e-mail para
> > > [email protected]<kohana-php%[email protected]>
> <kohana-php%[email protected]<kohana-php%[email protected]>
> >
> > > .
> > > Para obter mais opções, visite esse grupo em
> > >http://groups.google.com/group/kohana-php?hl=pt-BR.
> >
> > --
> > Abraços.
> >
> > Rodrigo Oliveira - Desenvolvedor Web.
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php"
> dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected]<kohana-php%[email protected]>
> .
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>
>

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a