我在Asp.net MVC4应用程序中使用带有SysCache提供程序的Nhibernet进行二级缓存。我发现SysCache使用ASP.Net默认缓存系统来存储缓存项。为了减少有限内存的使用,我实现了我的自定义缓存提供程序,它将数据存储在MongoDB中。
现在我的问题是,当我通过mongodb使用我的自定义缓存提供程序时,nhibernet二级缓存数据将存储在哪里?是由我的自定义缓存提供程序在mongodb中,还是仍然在RAM中?
顺便说一下,我的最终目标是,我想要使用SysCache或任何其他免费缓存提供商的NHibernet二级缓存,但不希望将缓存项存储在内存中,而不是存储在MongoDB中。请给出一个更好的建议来实现它。
关注
哈比布
发布于 2013-08-26 14:43:01
现在我的问题是,当我使用mongodb的自定义缓存提供程序时,nhibernet二级缓存数据将存储在哪里?
因为你已经开发了mongo的SLC,如果你改变设置,数据可能会在mongo中...?
缓存的目的是提供比从原始数据库中获取频繁数据的更快的方法。
你的方法在有限的内存下正确工作是非常有意义的,但我不确定它是否会提高你的应用程序的性能,就像SLC所要求的那样。
你在mongo中以document/blob的形式存储缓存数据吗?您是否将性能与原始缓存和无缓存进行了比较?
如果你的解决方案是成功的,它需要开发比你在RDBMS上的原始查询更好的mongo缓存。默认情况下,这不一定是真的。取决于您的用途和您使用的查询。
https://stackoverflow.com/questions/18427575
复制相似问题