In this paper, we consider an Internet-of-Things network supported by several satellites and multiple cacheassisted unmanned aerial vehicles (UAVs). Due to the longdistance transmission and detrimental effects from the transmission environment, the latency can be extremely high, especially in the presence of backhaul congestion. Therefore, we formulate an optimisation problem with the aim of minimising the total network latency. To reduce the complexity of the original problem, it is divided into three sub-problems, namely, clustering ground users associated with UAVs, cache placement in UAVs (to support the network in avoiding backhaul congestion), and power allocation for satellites and UAVs. We propose a distributed optimisation method consisting of: a non-cooperative game is designed to obtain the solution to the clustering problem; a genetic algorithm, which is powerful in the scenario of many variables, is employed to obtain the optimal solution to the highcomplexity caching problem; and a quick estimation technique is used for power allocation. Additionally, a centralised optimisation method is presented as a benchmark. Simulation results show that although the distributed method leads to network latency of approximately 30% higher than the centralised method, it takes significantly less time to execute and is suitable for systems requiring strict real-time computing constraints. Furthermore, the numerical results prove the efficiency of our methods compared with other conventional ones.