Prezados, eu possuo um objeto de controle que através de um DAO realiza consultas muito extensas.
Entendam consultas extensas, muitas consultas a tabelas distintas que trazem muitos registros.
Para dar agilidade criei um objeto de cache, no qual no início das atividades do controle, ele faz a carga de todas as consultas necessárias para as funcionalidades do mesmo.
Ou seja, guardo tudo que preciso em memória um única vez, evitando assim consultas repetidas ou N consultas que podem ser obtidas através de uma única.
Eu hoje, envio este objeto de cache para os métodos do meu controle através de parâmetros.
Bem, tendo em vista que não é correto a utilização de variáveis globais de um objeto de controle, e que a utilização de um singleton faria com que este objeto de cache permanesse infinitamente na memória do meu servidor, alguém poderia me informar se existe alguma maneira melhor dos meus métodos enchergarem este objeto de cache ?