用redis+php7改造ecshop单品商城支持日百万pv
来源:互联网 发布:12306自动抢票软件 编辑:程序博客网 时间:2024/05/22 12:17
本篇日志是因为作为程序猿的我,拥有的一个商城商品列表页www.adidasi.cn/adidas_xie等请求时间太长。做的升级优化后特意写个日志记录下。
先说下服务器配置:阿里云vps一台,配置为1核(具体主频多大没写)内存1g,带宽3m。
再说下改造前大致情况:重新设计了数据结构将属性和分类都设计成了静态表。但分类页有大量的复合查询(请求一次大概有几百条不等sql查询)。因此请求分类列表时,MySQL直接将服务器资源吃尽。
在此需求场景下怎么办呢?
两种选择:
1优化程序
2花钱升级硬件配置
升级配置不太可能,因为第一个刚创业资金紧张,第二个程序在优化后还能大幅提升效率的情况下直接选后者总感觉心头不爽(原谅我的强迫症)
好吧,构思了几天。想过在改动不大的情况下将数据搬到mongodb,但鉴于mongodb的性能弱于redis最后还是选择了redis。
最后将数据结构设计为扁平式数据结构。
查询属性1=》集合{商品ID1,商品ID2,。。。}
查询属性2=》集合{商品ID7,商品ID9,。。。}
这样我们在做筛选过滤的时候读取用户所选择的查询属性然后做数组融合或者取集处理。就得到了目标商品id数组。再从商品列表里拉取相关商品列表信息(这里可以将常用信息同样存到redis里)效率大大提升!!!
标题取成百万PV虽然有点夸张。但实际也差不了多少(没压测过)。因为做了缓存处理。压测单个页面一点意义都没有。
1 0
- 用redis+php7改造ecshop单品商城支持日百万pv
- 屌丝程序员如何打造日PV百万的网站架构.pdf
- 屌丝程序员如何打造日PV百万的网站架构
- ecshop改造读写分离
- ecshop改造读写分离
- ecshop仿京东商城二次开发
- 单台服务器百万并发长连接支持
- mysql 百万PV 处理方法
- 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张
- 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张
- 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张
- 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张
- 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张
- 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张
- 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张
- 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张
- 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张
- ecshop适应PHP7的修改
- 【例题】【康托展开】NKOJ 2272 数字排列
- Java8遇到certificate does not confirm to algorithm constrains
- 带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑
- 最小二乘法公式
- [iOS XIB适配] xib 进行 多个按钮平均分布适配
- 用redis+php7改造ecshop单品商城支持日百万pv
- Java 变量和常量
- js数据容量单位转换方法
- 笔记:lucene学习
- 计算机网络(一)--概述
- Android之APP的全屏实现
- c#开发的应用程序做退出程序的代码
- Android03--Android03之UI布局03LinearLayout
- JVM中MemoryUsage中init,committed,used,max的含义