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.