Caching is a promising technique to reduce traffic by storing popular content items in the buffers of users prior to user demand. In this paper, a two-phase physical layer multicasting system is investigated, in which the users are equipped with buffers and content request delay information (RDI) is available at the serving base station (BS). Based on RDI, transmissions are initiated to satisfy user requests within delay constraints. To minimize the expected traffic, a joint pushing and caching (JPC) method is presented to jointly determine the content items transmitted by the BS and cached in the user buffers. It is shown that minimizing the expected traffic can be transformed into a network coding problem. A framework is presented to formulate the JPC policies via optimization problems, which however are intractable. To find the optimal uncoded caching policy, the optimization problems are reduced to linear programs. In addition, a generalized coded caching algorithm is proposed to give a sub- optimal coded JPC policy. A lower bound on the expected traffic is also analyzed. Simulations show that the traffic resulting from the proposed algorithms approaches the lower bound if the buffer size is large.