Almost anything will work. Grease will work too, but you have to clean it before firing.
Mostly, I use either Breakfree CLP or M-Pro 7 CLP - which works fine - or a polarized rust preventative like Birchwood Casey Sheath aka Barricade, or Outers Metalseal, which sprays on and sticks as an oil. The most tenacious product that I would recommend is Kleenbore RustGardIt, which sprays on and dries on like a wax. All of these products work well for protecting firearms from rust while still keeping the firearms in a state of readiness for immediate service.
Beware Fluid Film. It protects from rust, for sure, but - in my experience - it seized moving parts too.