Stack Overflow如何实现缓存?

时间:2016-02-28 04:50:20

标签: performance caching cdn google-cdn

不确定Stack Overflow是否使用缓存来提高其页面的加载速度,但如果有,则表现非常出色。有许多组件需要更新。我在这张图片中看到每一秒都有许多要更新的组件。 Stack Overflow如何完美地完成它?enter image description here

1 个答案:

答案 0 :(得分:5)

answer中对Meta.SE进行了更全面的回答。然而,亮点是:

  • 基本上所有内容都被缓存,尤其是为匿名用户提供的所有内容。
  • They use Redis servers with 96 GB of Ram。此服务器保留最近设置和读取值的“L1缓存”。在将它们发送到Redis之前压缩这些值。他们还使用IIS的Output Caching
  • 每个站点都有3种类型的缓存:
    • “本地”(用户会话,查看次数等)
    • “网站”(热门问题ID,用户接受率)
    • “全局”(用户收件箱,API配额)

关于High Scalability 还有更多细节,尽管此时已接近5年。有一个newer article(自2014年起)提到还有两个额外的缓存级别:

  • SQL Server(整个数据库位于内存中)。截至2013年,database servers had 384 GB of memory
  • SSD(只有当SQL服务器缓存正在预热时才会命中...这不是我认为的“缓存”,但在文章中提到过)。