是否可以使用 Azure 角色内缓存作为 NHibernate 的二级缓存?
由于我对 Azure 开发和 NHibernate 缓存都很陌生,所以我真的不知道该寻找什么。有任何教程、指南或类似内容对此进行描述吗?
我即将开始开发一个基于 Azure 的应用程序,其中会有许多客户端从数据库读取数据(Web 和电话应用程序),但只有一个客户端向其中写入数据(当然这两种方式都通过适当的 Web 服务) .
目前我真的不知道是否需要缓存,但为了不让自己陷入困境,我想知道以后如果需要的话是否可以添加缓存。
我的想法是,当一个实例上的 NHibernate 写入缓存时,另一个实例(具有相同角色,共享相同缓存)上的 NHibernate 可以从缓存中读取此数据,或者我是否误解了什么?
最佳答案
说实话,应该可以通过实现 NHibernate.Cache.ICacheProvider
来实现您自己的 NHibernate 二级缓存提供程序。每个缓存提供程序都支持 NHibernate 查询缓存,并且与每个并发策略(只读、非严格读写和读写)兼容。但这并不容易,可能需要很长时间,具体取决于您的开发人员经验如何以及您对 NHibernate 的了解程度。所以我不建议这样做,尤其是当你说你不知道是否需要它时。
My idea is that when NHibernate on one instance writes to the cache, NHibernate on another instance (of the same role, sharing the same cache) could read this data from the cache, or have I misunderstood something?
我通常建议使用我们的 IIS Application Request Routing (ARR) module如果应用程序需要的话,可以实现粘性 session 。有多个资源描述了此解决方案,以下是一些有趣的链接:
- Using the Application Request Routing Module :这是 IIS 团队提供的标准安装文档,您可以按照该文档在 Windows 虚拟机上部署 ARR。
- 优秀Richard Astbury来自 Two10Degrees 有一个 AzureARR project hosted on Github将 ARR 打包到 Web 角色中以在云服务中使用。
关于.net - Azure 角色内缓存作为 NHibernate 二级缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20369922/