Most of prior works optimize caching policies based on the following assumptions: 1) every user initiates request according to content popularity, 2) all users are with the same active level, and 3) users are uniformly located in the considered region. In practice, these assumptions are often not true. In this paper, we explore the benefit of optimizing caching policies for base stations by exploiting user preference considering the spatial locality and different active level of users. We obtain optimal caching policies, respectively minimizing the download delay averaged over all file requests and user locations in the network (namely network average delay), and minimizing the maximal weighted download delay averaged over the file requests and location of each user (namely maximal weighted user average delay), as well as minimizing the weighted sum of both. The analysis and simulation results show that exploiting heterogeneous user preference and active level can improve user fairness, and can also improve network performance when users are with spatial locality.