Dialog is a favorite trick, and for good reason. As long as you've got a motive for telling it. Ignorance is neither sufficient nor necessary, since people lecture others about things they already know every day, and mere ignorance is no excuse to tell someone something.
People tend to have uncannily accurate memories and report with complete honesty. One of the conventions of writing, because unless you want to spend the novel piecing together the facts from incomplete and dishonest answers, you need accurate information. (Sure piecing together what's happening can be fun, but it's not the only fun thing a story can do.)
What really gets fun is when the character knows more than what you want the hero to know. That's where motivations get tricky. I think Percy Jackson handled it better than Harry Potter. Sheltering the young hero (in a way that always leaves him in the dark for crucial information) can sometimes work, but when those that know are jerks and want to protect themselves because the young hero might endanger them -- well, that's more plausible.
And then, of course, there's voice. Your character really needs to know how to tell a tale while remaining in character. But motive matters more.