Fazer cache de base de dados não é uma boa prática. Normalmente otimizar suas consultas vc já vai obter desempenho muito bom, a menos que tenha alta latencia na conexão entre servidores.
Abraço, Gabriel R. Giannattasio [email protected] Tel: (48) 8415 3555 2011/11/23 Marcelo Rodrigo <[email protected]> > Realmente, na 3.2 não há mais como fazer isso, infelizmente. > Vou ter de adaptar minha necessidade de uma outra forma. > > Obrigado pela ajuda dos colegas. > Valeu! > > > Atenciosamente, > > Marcelo Rodrigo > http://marcelorodrigo.com > > > Em 23 de novembro de 2011 11:10, felipe moraes <[email protected]>escreveu: > > Exato Marcelo, o ORM do Kohana só provê isso através do as_array() como já >> foi citado algumas vezes aqui >> >> $resultado = $ORM->....find_all()->as_array(); >> >> http://br.php.net/manual/pt_BR/function.serialize.php >> >> Cache::instance()->set(...serialize($resultado)); >> >> Depois recuperar em outro ponto do sistema: >> Cache::instance()->get(...); >> foreach($objeto as $o) ... >> >> Só vejo um problema .. você está usando Cache da forma errada :D >> >> Isso deveria estar sendo feito com Sessão e não com Cache :D Pois o >> objetivo do Cache é diferente do que deseja. >> >> Em 23 de novembro de 2011 10:29, Marcelo Rodrigo >> <[email protected]>escreveu: >> >> Obrigado pela ajuda Felipe. >>> >>> Mas o cache que eu comentava era um pouco diferente. >>> O que quero fazer é guardar todo o objeto usando o Kohana_Cache e não o >>> cache de queries do ORM. >>> >>> >>> Algo neste sentido: >>> $objeto = ORM::Factory('tabela')->where(...)->find_all(); >>> Cache::instance()->set(...); >>> >>> Depois recuperar em outro ponto do sistema: >>> Cache::instance()->get(...); >>> foreach($objeto as $o) ... >>> >>> >>> >>> >>> Atenciosamente, >>> >>> Marcelo Rodrigo >>> http://marcelorodrigo.com >>> >>> >>> Em 23 de novembro de 2011 08:46, felipe moraes >>> <[email protected]>escreveu: >>> >>> >>>> http://www.google.com.br/search?gcx=c&sourceid=chrome&ie=UTF-8&q=kohana+database+cache >>>> >>>> http://kohanaframework.org/3.2/guide/api/ORM >>>> http://kohanaframework.org/3.2/guide/api/ORM#cached >>>> >>>> O link que comentei, onde o samsoir fala pq não é viável ter cache de >>>> resultado em orm eu não achei novamente [to em outro pc] .. depois eu posto >>>> .. vou trampar. >>>> >>>> a justificativa é +/- essa .. no ORM os dados são muito voláteis, basta >>>> um valor mudar para o cache ficar inválido .. ORM, como sabe é baseado em >>>> várias sub consultas a cada execute(). Aí, fica complicado gerenciar esse >>>> cache. >>>> >>>> ORM tem cache, das columas das tabelas, do SQL .. mas pelo que entendi >>>> não tem cache de resultado. Cache de resultado tem de ser feito pelo >>>> ->as_array() por que esse resultado é fácil serializar. Aí, você precisa >>>> gerenciar isso de acordo com os dados de entrada, perfil do usuário, etc. >>>> >>>> Se todo o ambiente [usuário, sessão, etc] for igual ao anterior, não >>>> ocorreu mudanças no banco (insert, update, delete) e o lifetime não venceu, >>>> mostra o resultado anterior. >>>> >>>> >>>> Em 23 de novembro de 2011 08:27, Marcelo Rodrigo >>>> <[email protected]>escreveu: >>>> >>>> Felipe, >>>>> Compartilha o link desta thread que você encontrou tal informação >>>>> >>>>> >>>>> Atenciosamente, >>>>> >>>>> Marcelo Rodrigo >>>>> http://marcelorodrigo.com >>>>> >>>>> >>>>> Em 23 de novembro de 2011 08:10, felipe moraes >>>>> <[email protected]>escreveu: >>>>> >>>>> Pelo que vi no fórum do kohana .. não tem mais cache pois os dados não >>>>>> são totalmente carregados .. >>>>>> >>>>>> ou vc serializa o ->as_array() .. ou extende o módulo database. >>>>>> >>>>>> Em 23 de novembro de 2011 07:58, felipe moraes >>>>>> <[email protected]>escreveu: >>>>>> >>>>>> foreach .. cria array .. e serializa com comando do php? >>>>>>> >>>>>>> por que é mesmo que o cache de banco não tá funcionando? você >>>>>>> configurou o cache dele? >>>>>>> >>>>>>> Em 22 de novembro de 2011 13:41, Marcelo Rodrigo < >>>>>>> [email protected]> escreveu: >>>>>>> >>>>>>>> Tentei serializar, sem sucesso. >>>>>>>> A informação que ele serializa, não contempla os valores que foram >>>>>>>> usados no Query Builder. >>>>>>>> >>>>>>>> Se eu der um find_all o objeto se transforma num result e perco a >>>>>>>> chamada ao ->serialize() por sua vez. >>>>>>>> To tentando achar outra alternativa aqui. >>>>>>>> >>>>>>>> >>>>>>>> Atenciosamente, >>>>>>>> >>>>>>>> Marcelo Rodrigo >>>>>>>> http://marcelorodrigo.com .. Ccria >>>>>>>> >>>>>>>> >>>>>>>> Em 21 de novembro de 2011 11:28, Beto >>>>>>>> <[email protected]>escreveu: >>>>>>>> >>>>>>>> Talvez como o GET disse serializando seja possível. >>>>>>>>> >>>>>>>>> Caso não vc pode fazer uma 'art-manha' , usa o as_array() e manda >>>>>>>>> o array pro cache, quando vc precisar do objeto vc pega o array do >>>>>>>>> cache e >>>>>>>>> carrega nas colunas do objeto com o values() , tbm não sei se >>>>>>>>> resolveria o >>>>>>>>> problema, mas é uma outra forma de ser feito. >>>>>>>>> >>>>>>>>> []s >>>>>>>>> >>>>>>>>> >>>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >>>>>>>>> - - - - - - - - >>>>>>>>> >>>>>>>>> Luiz Alberto S. Ribeiro [ Beto ] >>>>>>>>> @madeinnordeste >>>>>>>>> <http://www.twitter.com/madeinnordeste><http://beto.euqueroserummacaco.com> >>>>>>>>> http://beto.euqueroserummacaco.com >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2011/11/21 Get <[email protected]> >>>>>>>>> >>>>>>>>>> Ja tentou serializar? >>>>>>>>>> >>>>>>>>>> @rafaelget >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2011/11/21 Marcelo Rodrigo <[email protected]> >>>>>>>>>> >>>>>>>>>>> Pessoal, >>>>>>>>>>> >>>>>>>>>>> Usando KO 3.2, alguém já tentou gravar em cache um objeto ORM >>>>>>>>>>> carregado com dados de um ->find_all()? >>>>>>>>>>> Na declaração do model já tentei setar o $_reload_on_wakeup = >>>>>>>>>>> false mas mesmo assim continuo com problemas e sempre dou de cara >>>>>>>>>>> com ... >>>>>>>>>>> >>>>>>>>>>> *ErrorException [ Warning ]: mysql_fetch_object(): supplied >>>>>>>>>>> argument is not a valid MySQL result resource.* >>>>>>>>>>> >>>>>>>>>>> .. assim que eu obtenho os dados do cache e tenho fazer um >>>>>>>>>>> foreach() >>>>>>>>>>> >>>>>>>>>>> Sei que se eu utilizar um ->as_array() após o find_all eu >>>>>>>>>>> conseguirei armazenar no cache, porque em vez de um Database_Result >>>>>>>>>>> eu >>>>>>>>>>> terei um array. >>>>>>>>>>> Mas neste caso específico preciso armazenar o model em seu state >>>>>>>>>>> atual em cache. >>>>>>>>>>> >>>>>>>>>>> Alguma idéia? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Atenciosamente, >>>>>>>>>>> >>>>>>>>>>> Marcelo Rodrigo >>>>>>>>>>> http://marcelorodrigo.com >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> 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. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> 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. >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> 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. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> 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. >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> http://felipebastosweb.com.br >>>>>>> http://twitter.com/felipebastosweb >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> http://felipebastosweb.com.br >>>>>> http://twitter.com/felipebastosweb >>>>>> >>>>>> -- >>>>>> 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. >>>>>> >>>>> >>>>> -- >>>>> 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. >>>>> >>>> >>>> >>>> >>>> -- >>>> http://felipebastosweb.com.br >>>> http://twitter.com/felipebastosweb >>>> >>>> -- >>>> 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. >>>> >>> >>> -- >>> 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. >>> >> >> >> >> -- >> http://felipebastosweb.com.br >> http://twitter.com/felipebastosweb >> >> -- >> 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. >> > > -- > 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. > -- 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.
