A method for storing content items, the method being implemented by a computer (110, 200) comprising a processor, a primary storage device (126, 214), a secondary storage device (128, 218), and a network interface, the method comprising: receiving, by the primary storage device (126, 214) via the network interface, a plurality of content items responsive to respective requests from clients (101a, 101b, 101n); distributing, via the network interface, the plurality of content items from the primary storage device (126, 214) to clients (101a, 101b, 101n) responsive to the respective requests from the clients (101a, 101b, 101n); generating, by the processor, a worthiness value for each content item of the plurality of content items, wherein the worthiness value is indicative of a value for writing the respective content item to the secondary storage device (128, 218) compared to other content items of the plurality of content items, and the worthiness value is based on a combination of at least frequency of request, rate of request, and number of times of request for the respective content item; generating, by the processor, a dynamic priority list for the content items based on the respective requests from the clients (101a, 101b, 101n) over time, based on the generated worthiness values, and based on respective costs of writing the content items to the secondary storage device (128, 218), wherein the respective costs are based on at least expected degradation of the secondary storage device (128, 218) as a result of writing the content items to the secondary storage device (128, 218); writing, by the processor based on the dynamic priority list, only a subset of the content items to the secondary storage device (128, 218). receiving, by the primary storage device (126, 214) via the network interface, a plurality of content items responsive to respective requests from clients (101a, 101b, 101n); distributing, via the network interface, the plurality of content items from the primary storage device (126, 214) to clients (101a, 101b, 101n) responsive to the respective requests from the clients (101a, 101b, 101n); generating, by the processor, a worthiness value for each content item of the plurality of content items, wherein the worthiness value is indicative of a value for writing the respective content item to the secondary storage device (128, 218) compared to other content items of the plurality of content items, and the worthiness value is based on a combination of at least frequency of request, rate of request, and number of times of request for the respective content item; generating, by the processor, a dynamic priority list for the content items based on the respective requests from the clients (101a, 101b, 101n) over time, based on the generated worthiness values, and based on respective costs of writing the content items to the secondary storage device (128, 218), wherein the respective costs are based on at least expected degradation of the secondary storage device (128, 218) as a result of writing the content items to the secondary storage device (128, 218); writing, by the processor based on the dynamic priority list, only a subset of the content items to the secondary storage device (128, 218).