Performance 堆栈溢出是如何实现缓存的?

Performance 堆栈溢出是如何实现缓存的?,performance,caching,cdn,google-cdn,Performance,Caching,Cdn,Google Cdn,不确定堆栈溢出是否使用缓存来提高其页面的加载速度,但如果使用了,它已经做了很好的工作。有许多组件需要更新。我看到这张图片,你每秒钟都会看到许多组件需要更新。堆栈溢出是如何做到如此完美的呢?在本文中,Meta.SE更全面地回答了这一问题。然而,重点是: 基本上所有的东西都是缓存的,尤其是为匿名用户提供的所有东西 。此服务器保留最近设置和读取的值的“一级缓存”。这些值在发送到Redis之前会被压缩。他们也使用IIS的 每个站点有3种类型的缓存: “本地”(用户会话、视图计数等) “站点”(热门问

不确定堆栈溢出是否使用缓存来提高其页面的加载速度,但如果使用了,它已经做了很好的工作。有许多组件需要更新。我看到这张图片,你每秒钟都会看到许多组件需要更新。堆栈溢出是如何做到如此完美的呢?

在本文中,Meta.SE更全面地回答了这一问题。然而,重点是:

  • 基本上所有的东西都是缓存的,尤其是为匿名用户提供的所有东西
  • 。此服务器保留最近设置和读取的值的“一级缓存”。这些值在发送到Redis之前会被压缩。他们也使用IIS的
  • 每个站点有3种类型的缓存:
    • “本地”(用户会话、视图计数等)
    • “站点”(热门问题ID、用户接受率)
    • “全局”(用户收件箱、API配额)
还有更多的细节,虽然这是近5年来在这一点上。有一篇文章(2014年起)提到还涉及两个额外的缓存级别:

  • SQL Server(整个数据库位于内存中)。截至2013年
  • SSD(只有当SQL Server缓存正在升温时才命中……而不是我考虑的“缓存”,但在文章中提到过)。李>
在浏览StackExchange站点时偶尔会遇到一些小问题,我可以说StackExchange使用“加速”(缓存)站点的部分(全部?)以获得更好的体验。这是一个问题吗?