Distributed cache is considered to be one of the key solutions to meet the explosively increasing demand for mobile data traffic. While plenty of related research is burgeoning, most of them mainly focus on caching at routing nodes or base stations, leaving the potential caching ability of the users' smart devices ignored. This paper proposes a cooperative caching and sharing scheme of users' smart devices, where the smart devices would prefer to cache contents the user is interested in and share their cached contents through D2D communication. We provide both the analytical and simulation results to show our scheme's efficiency.