Mix a solution of 1 cup bleach per 1 gallon of water. First, wet the roof, then brush in the mixture w/a SOFT, nylon-bristled broom. Brush the broom in ALL different directions, gently. Let it sit for about 10-15 minutes, and rinse. Start on the LOW end of the roof (the eaves), and work your way up, washing and rinsing ALL the way down as you go. Work across, and up the roofline. (If you start at the TOP, you'll get streaking down low ...)
If the mix doesn't work, go ahead and make it stronger. DO be careful - If the mixture is TOO strong, you could damage plants. If you live where you have 4 seasons, wait until just before the 1st frost. If you live in a location that, basically, has 2 seasons, you should 'extend' your downspouts so the water doesn't drain into your garden (at least.) Still, I'd wait until Fall/Winter time to do it (even though you have no 'frost/freezing'.)
Yes, the reason you're getting the mildew is because of lack of sunlight, high humidity/moisture, and little/no air flow. Altering ANY or ALL of these 'conditions' just enough will improve the situation, or even 'cure' it. The BEST condition to change is allowing more sun in. It will help keep things dry, and very quickly too. Trim trees and such AWAY from the roof line. The next best thing to do is increase the airflow. Moving air will not settle as much as stale, stagnent air. Again, trim back trees and bushes to improve the flow.