We propose novel proactive caching schemes for minimizing the communication latency in VANETs under freeway and city mobility models. The main philosophy that underlies these schemes is to exploit information that may be available a priori for vehicles' demands and mobility patterns. We consider two paradigms: cooperative, wherein multiple Roadside Units (RSUs) collaborate to expedite the transfer of information to the intended user, and non-cooperative, wherein each RSU operates independently of other RSUs in the network. To develop the proposed schemes, for each of the considered models we formulate optimization problems that expose the impact of velocity and direction of the vehicle on the optimal caching decision. Unfortunately, the developed formulations are NP-hard. To circumvent this difficulty, we use the insight developed through the optimization framework to develop practical caching algorithms, which are shown to yield close-to-optimal solutions.