The proliferation of IoT devices has led to a surge in network traffic, resulting in higher energy usage and response delays. In-network caching has emerged as a viable solution to address this issue. However, caching IoT data faces two key challenges: the transient nature of IoT content and the unknown spatiotemporal content popularity. Additionally, the use of a global view on dynamic IoT networks is problematic due to the high communication overhead involved. To tackle these challenges, this paper presents an adaptive management approach that jointly optimizes caching and communication in IoT networks using a novel bi-level control method called BC3. The approach employs two types of controllers: a global ILP-based optimal controller for long-term timeslots and local learning-based controllers for short-term timeslots. The long-term controller periodically establishes a global cache policy for the network and sends specific cache rules to each edge server. The local controller at each edge server solves the joint problem of bandwidth allocation and cache adaptation using deep reinforcement learning (DRL) technique. The main objective is to minimize energy consumption and system response time with utilizing the global and local observations. Experimental results demonstrate that the proposed approach increases cache hit rate by approximately 12% and uses 11% less energy compared to the other methods. Increasing the cache hit rate can lead to a reduction in about 17% in response time for user requests. Our bi-level control approach offers a promising solution for leveraging the network's global visibility while balancing communication overhead (as energy consumption) against system performance. Additionally, the proposed method has the lowest cache eviction, around 19% lower than the lowest eviction of the other comparison methods. The eviction metric is a metric to evaluate the effectiveness of adaptive caching approach designed for transient data.