With the widespread adoption of various mobile applications, the amount of traffic in wireless networks is growing at an exponential rate, which exerts a great burden on mobile core networks and backhaul links. Mobile edge caching, which enables mobile edges with cache storages, is a promising solution to alleviate this problem. In this paper, we aim to review the state-of-the-art of mobile edge caching. We first present an overview of mobile edge caching and its advantages. We then discuss the locations where mobile edge caching can be realized in the network. We also analyze different caching criteria and their respective effects on the caching performances. Moreover, we compare several caching schemes and discuss their pros and cons. We further present a detailed and in-depth discussion on the caching process, which can be delineated into four phases including content request, exploration, delivery, and update. For each phase, we identify different issues and review related works in addressing these issues. Finally, we present a number of challenges faced by current mobile edge caching architectures and techniques for further studies.