在基于saas结构的管理管理系统中,往往数据量会比较大,尤其是一些基本表,每个用户可能都有很多数据,数据分页显示是最基本的,每次分页查询,基本都要去查询一下总共有多少条记录,这样感觉效率比较低,如果用户经常点击下一页,每次都需要count()一下记录数,突然想能否把这个数据缓存呢?如果对数据的准确要求不是很高,而对于高并发和亿万级数据来说,每次计算一下是很大的开销,如果把这个数据缓存了也是个不错的方案,和现有系统结合(高访问量和高数据量单数据库的集群系统),选择用memcached缓存记录数,设定缓存的时间,则在一定时间范围内用户翻页就不需要去统计页数,减少数据库的压力。
缓存就是key-value,以什么为key呢?统计系统一般数据有很多查询条件,想一下可以把业务关键字(可以用分页的url)+用户登录id+查询条件…组合成key,这样就不会重复,条件改变key值不同,不同用户间也不会有影响。当然,如果追求更好的效率,甚至可以缓存到应用放入map中,读取更有效率,一般单台服务应用在缓存生命周期基本能够命中,如果为集群应用,一般系统负载均衡对服务器也有一定的粘性,这样就可以保证缓存的有效性。得空再想想具体实现和怎么样更有效率。
分享到:
相关推荐
BBS(Bulletin Board System)论坛是一种在线讨论平台,允许用户发布信息、交流想法和讨论问题。从给定文件《BBS论坛简单需求分析.pdf》中,我们可以提取到关于BBS论坛系统的功能需求、数据库设计以及后台管理等多个...
如何继续这项工作和其他想法 文档。 文档很重要。 测试。 与前一点相同。 Bag可以保留在浏览器会话中,即使用 LocalStorage 产品详情。 您之前不会在没有详细了解产品的情况下购买或兑换某些东西。 过滤我可以用...
开源 bbs 源码 java 这个项目是干什么的 ... 我们也欢迎有人来帮忙记录,你只需要fork本仓库,然后修改readme.md,提交pull request 站长个人对以前及现在事情的记录 ...我可能还会添加分页插件,不然文章
13 JDBC性能优化技巧 <br> 权限设计 1 权限系统概要 2 关于权限设计方面的问题 3 关于用户角色权限管理一点想法 4 关于权限系统的设计 <br> 缓存系统 1 ...
当您导航到网页或打开包含可用RSS / ATOM / RDF提要的选项卡时,该图标将显示一个+表示这一点。已知问题:-有时面板可能需要花费几秒钟来加载。我已经做了很多事情来加快加载速度。如果您在此方面以及与Feed有关的...