I have landscape lights that have been giving a lot of trouble. They were going out whithin a couple of days. I would clean the bulb contacts and the socket contacts and they would go out again in a few days. You are not going to believe how I solved it. I got to thinking the contacts need to be coated with something to stop the corrosion. Something that was conductive. Then I saw a tube of diaper ointment that contained zinc. Zinc is conductive and the diaper ointment solved my problem. The lights are staying on now.
Dielectric grease. That's all it takes. Available at any auto parts store. I use it on virtually every electrical connection that will see moisture. Vaseline works well in a pinch.