2015-05-12 15:37:15 4308次浏览 2条回答 0 悬赏 0 金钱

想问一下大家在对列表缓存数据的时候是怎么做的缓存

最佳答案

  • lxepoo 发布于 2015-05-12 16:10 举报

    首先明确一点:

    是不是必须显示全部数据?

    如果是必须的,即使分出几万页也可以接受,那么你要想办法去实现这个效果。

    场景分析:

    如果你有30万信息,并且使用Mysql,那么你可以考虑一下以下几种方式:

    1.通过页面缓存或者干脆生成HTML静态页的方式来实现,但是这样会产生很多的缓存文件,同时访问量很大的情况下磁盘的IO会进入瓶颈然后宕机。

    2.通过SQLite数据库作缓存数据库,并且用SQL语句的MD5值作为表名,这样你可以实现复杂的分页操作,同时你运算的数据源是你缓存的结果集。

    3.通过第三方K-V模块来实现对结果集的缓存

    如果显示全部数据不是必须的,那你考虑的范围只是如何显示的更精准,而非更多,用户在更多和更精准之间往往选择后者。

    觉得很赞
  • 回答于 2015-05-12 15:49 举报

    一般使用yii\filters\PageCache来做分页缓存控制。

您需要登录后才可以回答。登录 | 立即注册
word1018808441
CEO

word1018808441 重庆

注册时间:2015-03-24
最后登录:2018-07-04
在线时长:629小时49分
  • 粉丝49
  • 金钱7395
  • 威望40
  • 积分14085

热门问题