`
sunqi
  • 浏览: 227920 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

分页的一点想法

阅读更多
  在基于saas结构的管理管理系统中,往往数据量会比较大,尤其是一些基本表,每个用户可能都有很多数据,数据分页显示是最基本的,每次分页查询,基本都要去查询一下总共有多少条记录,这样感觉效率比较低,如果用户经常点击下一页,每次都需要count()一下记录数,突然想能否把这个数据缓存呢?如果对数据的准确要求不是很高,而对于高并发和亿万级数据来说,每次计算一下是很大的开销,如果把这个数据缓存了也是个不错的方案,和现有系统结合(高访问量和高数据量单数据库的集群系统),选择用memcached缓存记录数,设定缓存的时间,则在一定时间范围内用户翻页就不需要去统计页数,减少数据库的压力。
    缓存就是key-value,以什么为key呢?统计系统一般数据有很多查询条件,想一下可以把业务关键字(可以用分页的url)+用户登录id+查询条件…组合成key,这样就不会重复,条件改变key值不同,不同用户间也不会有影响。当然,如果追求更好的效率,甚至可以缓存到应用放入map中,读取更有效率,一般单台服务应用在缓存生命周期基本能够命中,如果为集群应用,一般系统负载均衡对服务器也有一定的粘性,这样就可以保证缓存的有效性。得空再想想具体实现和怎么样更有效率。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics