The continuous development of networking technologies and smart devices has led Internet traffic, especially for the multimedia content traffic, to increase drastically both in wired and wireless networks. Similarly, the fast developing of wireless networks, such as 5G, has led the Internet of things (IoT) to be growing at an unprecedented pace. However, the traditional host-centric IP Internet is based on host-to-host communications which is not suitable for satisfying the requirements of content delivery. Hence, information-centric networking (ICN), one of the emerging next-generation Internet paradigms, is proposed to overcome these challenges. With the ubiquitous in-network caching, ICN can facilitate content delivery and reduce network delay. Both 5G and IoT can use the concept of ICN to constitute ICN-5G and ICN-IoT networks respectively. However, the requirements of in-network caching may vary for different networks. This thesis focuses on designing in-network caching approaches for different networks, including pure ICN networks, ICN-5G networks and ICN-IoT networks, from a theoretical perspective and a practical perspective. Both reactive and proactive caching approaches are discussed in this thesis. Moreover, by leveraging the concepts of software-defined networking (SDN) and machine learning (ML), the efficiency of in-network caching can be significantly improved.