调整代码结构，添加页面缓存，改变page_counter的工作方式