1. A system comprising: a plurality of servers including storage devices, each server embodied as a computer having a processor; a statistics manager configured to maintain statistics comprising on which storage devices of which of the plurality of servers data blocks are stored, a number of data block requests associated with each server, and a cache bandwidth threshold for each server; and a cache coordinator configured to utilize the statistics to implement one of a replication phase and a consolidation phase of a dynamic caching technique that adaptively controls a number of copies of a data block stored on one or more of the storage devices, the cache coordinator further configured to cooperate with the processor to execute the replication phase of the dynamic caching technique to increase the number of copies of the data block stored on the one or more storage devices, the replication phase when executed operable to: determine that a number of data block requests associated with a source server of the plurality of servers exceeds the cache bandwidth threshold for the source server that comprises a total number of data block requests that can be processed by the source server, the number of data block requests associated with the source server including one or more data block requests directed to the data block; determine that a number of data block requests associated with a target server of the plurality of servers is less than or equal to the cache bandwidth threshold for the target server that comprises a total number of data block requests that can be processed by the target server; copy the data block to the storage device of the target server based on the determination; and redirect the one or more data block requests directed to the data block at the source server to the copied data block at the target server to alleviate congestion in the system; and the cache coordinator is further configured to cooperate with the processor to execute the consolidation phase to decrease the number of copies of the data block, the consolidation phase when executed operable to: determine that the number of copies of the data block is greater than a minimum number of replicas in the system; determine that the number of data block requests assigned to the target server is less than or equal to the total number of data block requests that can be processed by the target server, the number of data block requests assigned to the target server including one or more data block requests directed to the data block at the source server; remove the data block from the source server; and redirect the one or more data block requests directed to the removed data block at the source server to the target server to improve storage efficiency in the system.