首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个网站之间共享缓存

在多个网站之间共享缓存
EN

Stack Overflow用户
提问于 2011-03-11 23:17:14
回答 2查看 812关注 0票数 3

我们有大约50个网站,运行在不同的应用程序池中,它们从一个通用的缓存数据库中读取数据(使用Microsoft Enterprise Library缓存应用程序块)。

我们目前有一个控制台应用程序,它在每天凌晨3点填充缓存。但是,我们希望摆脱此应用程序,并使用ICacheItemRefreshAction接口让缓存自动刷新过期项目。

我们打算在50个网站的Global.asax中创建缓存对象。然而,我担心的是,如果我们在Global.asax中设置缓存过期策略,50个网站中的每个网站都会触发刷新操作,导致数据被重新缓存50次。

我们不希望只有一个网站设置过期策略,因为这样其他49个网站就会依赖于这一个网站,这是架构上的禁忌。

考虑到这些限制-有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2011-03-11 23:44:01

坚持你所拥有的。

如果在凌晨3点填充缓存的控制台应用程序的性能可以接受,请继续使用它。如果您需要更频繁/更少地刷新缓存,则可以随时更改调用它的粒度。

如果您想碰巧使用ICacheItemRefreshAction来实现更精细的粒度(例如,一些项目在24分钟后从缓存中掉出,一些项目在24小时后丢失),那么可以考虑让控制台应用程序更灵活,这样它就可以被告知缓存的哪些部分无效并重新填充。

你的问题中缺少的一点信息对完善答案很有用,那就是为什么你想要摆脱控制台应用程序,也许更重要的是,你为什么想要使用 ICacheItemRefreshAction 界面?

票数 2
EN

Stack Overflow用户

发布于 2011-03-11 23:42:58

也许你可以考虑一种替代的缓存解决方案,比如memcached、NCache或Velocity。

有了这个,你就可以拥有一个被所有站点共享的缓存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5274703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档