秒杀:页面优化

缓存

页面缓存

页面缓存的有效期比较短,因为页面具有即时性

  1. 取缓存
  2. 手动渲染模版
  3. 结果输出

URL缓存

与页面缓存的区别就是不同的页面有不同的id啦

对象缓存

根据缓存取一个对象,对象缓存期望永久有效

  1. 取缓存
  2. 若缓存中没有,取数据库,并且加载进缓存
  3. 如果是更新操作,一定要记得处理缓存
    service之间一定是调别人的service,不要调用别人的dao,因为在service中可能会涉及缓存操作,而dao是纯数据库

Cache Aside Pattern

失效:从cache中取数据,如果没取到,则从数据库中取,成功后放入缓存
命中:从cache中取到了数据,取到后返回
更新:先把数据存到数据库中,成功后再让缓存失效
一定不能先让缓存失效,再更新数据库

页面静态化,前后端分离

页面为纯HTML,使用js ajax请求数据来渲染页面
常用技术AngularJs、Vue.js
静态数据可以缓存到客户端,从服务器只需下载动态数据

GET POST的区别
get是幂等的,从服务端获取数据时无论调用多少次结果都一样,不会对服务端产生任何影响
post向服务端提交数据,会对服务端数据产生改变

304
客户端向服务端询问静态页面有没有发生变化,没有变化服务端就返回304表示从而让客户端可以直接使用本地缓存
但尽管304客户端和服务端还是会有一次交互,怎么客户端直接从浏览器取数据,不需要询问服务端呢? spring有相关的配置,可以直接取浏览器缓存

超卖问题的解决

  • 秒杀service中,步骤为减库存、下订单,如果两个线程同时进入秒杀方法,要减库存,就会出现超卖问题。
    数据库update时增加stock_count > 0限制条件。因为数据库会自动加锁,不会有两个线程同时进入。
  • 一个用户通过抓取接口同时发起两个请求,秒杀到两个商品。
    在数据库的秒杀订单表上,为用户Id和商品Id建立唯一索引,防止用户插入重复记录。但现实中,会使用验证码解决,不让用户发出两个请求。

静态资源优化

  1. JS/CSS压缩,减少流量
  2. 多个JS/CSS组合,减少连接数

CDN优化

内容分发网络,约等于缓存,在整个互联网上有很多节点,把数据在每个节点上都做一次缓存。根据用户的位置,将用户的请求定位到最近的CDN镜像上。

总结

解决并发大
瓶颈在于数据库,最有效的办法是加缓存
用户发起请求,浏览器上通过页面静态化直接把页面缓存到浏览器端;请求到达网站之前,可以部署CDN节点让请求首先访问CDN;网站方面nginx也可以加缓存;应用程序里页面缓存,页面缓存再细粒度一点就是对象缓存。最后才到数据库。削减到数据库的数量。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容