Cache é uma coisa bem complicada que geram bons pontos de falhas.
Eu sempre tento não usar cache, mas quando fazemos testes e percebemos que o cache vai trazer uma melhora significativa, fazemos.
Sobre exigir do servidor, talvez não seja um grande problema ja que temos soluçoes de cache distribuido como Redis.
Antes de tomar a decisão de usar cache, o ideal é voce ver a relação de leitura e escrita, geralmente um registro é inserido uma vez e lido milhares de vezes sem ser alterado, esse é um cenário para colocar cache sem muitos problemas. Mas não esqueca de invalidar o cache toda vez que o registro for atualizado. Uma forma mais "facil" de aplicar cache é usando o CQRS.