у мускуля несколько кэшей. Кэшироваться может как план исполнения запроса, там и данные.
наиболее интересно данные - в 99% случаев наиболее значитмый эффект.
а у Вас, судя по описанию, либо запросы повторяются не слишком часто (и данные из кэше вытесняются), либо кэш небольшой (и он, опять-же, чистится)
попробуйте запустить mysqltuner и посмотрите на "Query cache prunes per day"