Output all the banners as hidden HTML and show one using javascript, this way you won't have to disable any cache or anything.
If there are a lot of banners then this wouldn't work (to much markup) and something should be done using a count fetch(to get total) and random operator to select banner using the random number as offset for the fetch (with limitation 1). This needs to be done outside any cache though.