.net - Azure 角色内缓存作为 NHibernate 二级缓存?

标签 .net nhibernate caching azure

是否可以使用 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 。有多个资源描述了此解决方案,以下是一些有趣的链接:

关于.net - Azure 角色内缓存作为 NHibernate 二级缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20369922/

相关文章:

c# - 签署引用的程序集后生成错误

c# - Lutz Roeder 的 HTML Writer 在 SaveHtml() 方法中只返回 2 个字符

c# - WPF和WinForms Dispatcher应该统一吗?

NHibernate 不会创建代理,除非 class...lazy=true

java - Java 和 C++ 对象的低延迟分布式缓存

c# - 继续获取 'The LINQ expression node type ' Invoke' 在 LINQ to Entities 的异常中不受支持

mysql - NHibernate.ISession.Linq<T>.Where(expression) 检索整个表

unit-testing - 单元测试数据模型 : related entities

ios - 防止在 iOS 模拟器的 NSURLSession 中缓存

caching - Drupal 7 & Varnish 4 - 我总是得到 X-Drupal-Cache : MISS but X-Cache: HIT