Memcached与SQL Server缓存的优劣?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (27)

我阅读了很多文章,都建议将Memcached(或Velocity等)放在数据库前比直接访问数据库更有效。它将通过查找内存缓存中的数据来减少数据库点击次数,这比访问数据库要快。

但是,SQL Server拥有自己的数据库中的对象的内存缓存。当数据被检索时,SQL Server维护它的缓存并且将(如果需要的话)从它的内存中拉出该行,而不是击中该磁盘。

因此,SQL Server具有自己的缓存,那么外部Memcached(或类似的)服务器的好处是什么?

提问于
用户回答回答于

SQL Server有它自己的缓存,但他只缓存: - 查询计划 - 来自数据库文件的页面

他不会缓存: - 来自查询的结果

当使用memcached时,可能会存储结果集的几行,并重复使用它们而不连接到数据库服务器。所以它会从你的数据库服务器中获取一些负载

用户回答回答于

另一个好处也可能是SQL Server扩展很昂贵,添加一个新的Web /缓存服务器会便宜。

我们在应用程序级使用缓存来存储各种事物,而不是从数据库中全部存储。可以在代码中操作数据对象,然后添加到缓存中。

如果需要,甚至可以存储标记(输出缓存)。

扫码关注云+社区