我已经使用NHibernate一段时间了,我仍然想知道二级缓存提供商之间的差异是什么?
为清楚起见,我在谈论:
我确信还有其他人。
由于
答案 0 :(得分:12)
比较这些缓存提供程序有效归结为比较memcached vs prevalence vs Velocity等,这与NHibernate无关。
以下是一些原因(绝不是完整的清单)选择其他原因:
如果您想保持简单并且不在服务器场中运行应用程序,则可能需要使用在进程中运行的SysCache / Prevalence。如果使用MS SQL Server,请使用SysCache2。
如果您需要在许多缓存专用服务器上使用大量缓存,您可能需要使用可在Linux上运行的memcached,这样您就可以避免许可成本。
如果您的应用程序在Azure上运行或已经使用AppFabric,则可能需要使用Velocity。
就我个人而言,我更倾向于在比数据访问更高的层次上进行缓存(仅在真正需要时),以使缓存比仅仅实体更有意义和有意义,并且不仅仅包含缓存中的数据访问。在设计合理的系统中,使用装饰器或代理可以轻松实现缓存。