It's been a while since I've updated the Caching Manager, which is a module on the Sitecore Marketplace, so during a recent upgrade it was about that time. I'm using the design from Sitecore 8. It's backwards compatible through Sitecore 6 (SIM makes this possible) so there's no excuse for not getting it. Unless, you're on 5? Was caching on 5? I honestly don't remember or probably never knew.
"No plan survives contact with the enemy"
-Helmuth von Moltke the Elder
That's not to say you should have no plan though. Quite the contrary:
"Victorious warriors win first and then go to war, while defeated warriors go to war first and then seek to win."
I always knew Sitecore provided Dictionary support for a long time but I also knew there were, shall we say, scalability problems. Like, let's say, general user access (it was located under the system node) and the inability to create individual dictionaries for individual sites. Because of that, I, and apparently others, have been inanely custom rolling dictionaries. That is, until I came upon Scott Mulligan's article highlighting the latest changes in Sitecore 6.6 (yesss, it's been a while, I know [sighs, rolls eyes]) that convinced me to finally stop reinventing the wheel and adopt the Sitecore provided solution.
There are resources out there to help get started like John Wests' seemingly canonical post. There's also a super handy article by "sitecorecode" (I couldn't find the author's actual name but I guess you know who you are). And my long time friend M3, as he's known colloquially, breaks it down like a legend.