We study content caching in a network consisting of a server and a base station with a finite capacity cache. Contents are dynamic. They stochastically arrive in the system, stay for random times, and their popularities also randomly vary while they are alive. Fetching contents from the server and storing in the base station cache incurs a cost. But not having the requested contents at the base station also incurs a cost that reflects QoS deficiency. We study optimal proactive caching aiming at minimizing the time-average content miss and caching costs. We formulate this problem as an average cost Markov decision problem that is a restless multi-armed bandit problem. We argue that the problem is indexable and explicitly derive the Whittle indices. Finally, we demonstrate efficacy of the Whittle index policy via numerical evaluation.