Você não deu nenhuma ideia da escala do seu site, o que faz uma enorme diferença em qual tecnologia / método é apropriado.
De qualquer forma, nada será uma bala mágica. A maioria das coisas que você está mencionando são sobre como tornar possível o escalonamento grande em vez de evitar o dimensionamento.
Mesmo usando algo como memcached na frente do banco de dados, é necessário um modo de pensar um pouco diferente para obter o máximo benefício dele. Uma das primeiras coisas que você precisa fazer (e pode haver grandes economias, se ainda não tiver feito isso) é analisar e otimizar o tipo de consultas que você está fazendo.