Pronunciation of "cache"
Solution 1:
/kæʃ/ is the original pronunciation, as from the original French 'cache'.
/keɪʃ/ is widely heard in the IT world and elsewhere.
Both are therefore "correct" in the sense that they will be correctly understood by a wide cross-section of English speakers. I believe there's a preference for /keɪʃ/ in IT circles, but I certainly use both in a highly inconsistent manner. English is wonderful like that!
Edit, lest I forget to confirm what other people have said: /kætʃ/ and /kæʃeɪ/ are entirely different words, "catch" and "cachet" respectively. Using either of those pronunciations to mean "cache" will most likely get you looks of blank incomprehension.
Solution 2:
'Kash' is the correct pronunciation. If you pronounce it 'kash-ey' then you're actually using a different word entirely, cachet.