使用的php框架是lumen、数据mysql5.7、操作系统是centos
需求:
数据表内的数据每日递增目前已经有200w+的数据,现在有个查询的需求,需要groupby多个字段求和统计,前端可以自行定义是哪个字段升序、降序排序。
目前的解决方案
根据请求的条件拼接生成md5的key值(因为有排序的需求,所以排序的字段、分页都会加入key的拼接),将请求结果放在nosql。相同条件的请求直接读取缓存。
瓶颈:
每次的分页,更换排序都重新走数据库请求数据,请求效率没有提升,我想过将所有数据全部存入缓存,由业务来分页和排序,但是数据量太大容易内存溢出,请问大家有没有更好的方案
可以尝试使用搜索引擎呢
比如ES、Solr、Sphinx
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。