1
resposta

Habilitei o cache numa aplicação mas ele não está funcionando

Habilitei o cache do NHibernate num projeto que estou construindo, seguindo o modelo da apresentação, mas não obtive o mesmo resultado. Adicionei o provider, configurei o mapeamento e mesmo assim, fazendo consultas consecutivas, observando pelo profiler, sempre está executando a query no banco. Segue a consulta que estou fazendo:

Repository: var result = Session.Query().Cacheable().CacheMode(CacheMode.Normal); return result.ToList();

No meu teste estou fazendo a chamada: var resultJunho = repository.RecuperarPorMes(new DateTime(2016, 06, 01)); resultJunho = repository.RecuperarMes(new DateTime(2016, 06, 01));

E mesmo executando a mesma query, a consulta é executada duas vezes. Sabem o que pode estar faltando?

1 resposta

Olá, Paulo!

Como a configuração do cache do NHibernate é espalhada em alguns lugares, precisamos ver se você também habilitou o cache para queries.

Por favor, veja se o cache de queries está habilitado em seu arquivo hibernate.cfg.xml

<property name="cache.use_query_cache" >true</property>

Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software