在 asp.net 中缓存两个子域的对象
Cache an object for two subdomains in asp.net
我们刚刚向我们组织的网站添加了几个子域。一个子域现在专门用于编辑页面和内容等管理事务,另一个子域现在处理画廊,而主域只负责显示普通网站。全部在各自的应用程序池中。
问题是,在普通网页上,我们有很多页面从数据库加载它们的内容。在大多数情况下这很好,但开始成为一个问题。我的想法是缓存要在网页上显示的内容,以避免一直从数据库加载它。问题是,如果我在网页上创建缓存,它不会与其他子域共享。
有什么好方法可以解决此问题并拥有一个在我们所有子域之间共享的缓存?在为缓存服务的后台创建某种 WCF/Console-project 即 运行?创建 Windows 服务?
由于我们是一个组织,所以我们没有那么多钱可以使用,因此不可能购买昂贵的解决方案。
我认为您可以使用 Redis 缓存 http://redis.io/ 作为您的缓存解决方案。它可以在同一台服务器(或专用服务器)上 运行 并且对于大多数实际用例来说足够快。
您的所有 Web 应用程序都可以共享相同的 Redis 缓存实例,并且使用已经被更大社区使用的产品绝对比重新发明您自己的缓存要好,除非您有现有解决方案无法满足的非常具体的需求.
我们刚刚向我们组织的网站添加了几个子域。一个子域现在专门用于编辑页面和内容等管理事务,另一个子域现在处理画廊,而主域只负责显示普通网站。全部在各自的应用程序池中。
问题是,在普通网页上,我们有很多页面从数据库加载它们的内容。在大多数情况下这很好,但开始成为一个问题。我的想法是缓存要在网页上显示的内容,以避免一直从数据库加载它。问题是,如果我在网页上创建缓存,它不会与其他子域共享。
有什么好方法可以解决此问题并拥有一个在我们所有子域之间共享的缓存?在为缓存服务的后台创建某种 WCF/Console-project 即 运行?创建 Windows 服务?
由于我们是一个组织,所以我们没有那么多钱可以使用,因此不可能购买昂贵的解决方案。
我认为您可以使用 Redis 缓存 http://redis.io/ 作为您的缓存解决方案。它可以在同一台服务器(或专用服务器)上 运行 并且对于大多数实际用例来说足够快。
您的所有 Web 应用程序都可以共享相同的 Redis 缓存实例,并且使用已经被更大社区使用的产品绝对比重新发明您自己的缓存要好,除非您有现有解决方案无法满足的非常具体的需求.