there are approximately 2 status codes to trigger a redirect
More like 5 ... 301, 302, 303, 307 and 308.
302 - Moved Temporarily
A 302 should never be cached. Browsers do not ordinarily cache a 302. It is after all "temporary".
301 - Moved Permanently
301s are cached by default. Since this is considered a "permanent" redirect, browsers (and possibly intermediary caches) will cache a 301 "aggressively". Without additional cache control headers there is no clear rule for how long the redirect should be cached - it's browser/cache dependent. But suffice to say, it can be a "long time".
However, you should be able to send the appropriate cache control headers (ie.
Expires HTTP response headers) with the redirect in order to control the caching behaviour.