在asp.net-mvc网站上缓存数据库查询以获得性能的最佳方法是什么?

时间:2011-06-02 14:48:34

标签: asp.net-mvc caching

  

可能重复:
  Caching in asp.net-mvc

我有一个asp.net-mvc网站,我正在运行一个昂贵的数据库查询,结果很少改变,所以我想添加缓存,所以当其他用户调出相同的网页时它不会出去到数据库但只是抓住这个缓存。 (并且可能强制数据库达到某个到期时间帧。)

我之前使用过syscache来对不同的用户进行这种二级缓存,当我使用nhibernate但是(由于其他原因不值得讨论)我不能在这种情况下使用nhibernate。

我希望在没有nhiberate的场景中复制与nhibernate syscache(二级缓存)相同的行为。

这是否可行,是否有推荐的解决方案。我只有一个Web服务器,所以我不需要处理任何分布式问题。

1 个答案:

答案 0 :(得分:1)

Memcached是一个很好的解决方案。它基本上是一个键/值字典,它作为一个单独的进程在内存中运行。您可以先检查缓存,然后从数据库中获取它是否已过期。