Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net NHibernate系统缓存存储_Asp.net_Mongodb_Nhibernate_Caching_Fluent Nhibernate - Fatal编程技术网

Asp.net NHibernate系统缓存存储

Asp.net NHibernate系统缓存存储,asp.net,mongodb,nhibernate,caching,fluent-nhibernate,Asp.net,Mongodb,Nhibernate,Caching,Fluent Nhibernate,我正在Asp.NETMVC4应用程序中使用Nhibernet和SysCache提供程序进行二级缓存。我在某处发现SysCache使用ASP.Net默认缓存系统来存储缓存项。为了减少对有限RAM的使用,我实现了自定义缓存提供程序,它将数据存储在MongoDB中 现在我的问题是,当我使用mongodb使用自定义缓存提供程序时,nhibernet二级缓存数据将存储在哪里?是由我的自定义缓存提供程序在mongodb中,还是仍将在RAM中 顺便说一句,我的最终目标是,我想要使用SysCache或任何其他免

我正在Asp.NETMVC4应用程序中使用Nhibernet和SysCache提供程序进行二级缓存。我在某处发现SysCache使用ASP.Net默认缓存系统来存储缓存项。为了减少对有限RAM的使用,我实现了自定义缓存提供程序,它将数据存储在MongoDB中

现在我的问题是,当我使用mongodb使用自定义缓存提供程序时,nhibernet二级缓存数据将存储在哪里?是由我的自定义缓存提供程序在mongodb中,还是仍将在RAM中

顺便说一句,我的最终目标是,我想要使用SysCache或任何其他免费缓存提供程序的NHibernet二级缓存,但不想将缓存项存储在RAM中,而是存储在mongodb中。请给出一个更好的建议来实现它

重视

哈比卜

现在我的问题是,当我使用mongodb使用自定义缓存提供程序时,nhibernet二级缓存数据将存储在哪里

由于您已经开发了mongo的SLC,如果您更改设置,数据可能会在mongo中

缓存的目的是提供比从原始数据库中选择频繁数据更快的方法来获取/获取频繁数据。

您的方法在内存有限的情况下正确工作是非常有意义的,但我不确定它是否会像SLC所要求的那样提高应用程序的性能

您在mongo中将缓存数据存储为文档/blob?您是否将性能与原始缓存和w/o缓存进行了比较

如果您的解决方案要成功,就需要开发mongo的缓存,使其比原始的针对RDBMS的查询更好。默认情况下,这不一定是真的。取决于您的目的和使用的查询

现在我的问题是,当我使用mongodb使用自定义缓存提供程序时,nhibernet二级缓存数据将存储在哪里

由于您已经开发了mongo的SLC,如果您更改设置,数据可能会在mongo中

缓存的目的是提供比从原始数据库中选择频繁数据更快的方法来获取/获取频繁数据。

您的方法在内存有限的情况下正确工作是非常有意义的,但我不确定它是否会像SLC所要求的那样提高应用程序的性能

您在mongo中将缓存数据存储为文档/blob?您是否将性能与原始缓存和w/o缓存进行了比较


如果您的解决方案要成功,就需要开发mongo的缓存,使其比原始的针对RDBMS的查询更好。默认情况下,这不一定是真的。取决于您的目的和使用的问题。

嗨,马丁,谢谢您的回答。顺便说一下,我已经为Asp.Net实现了自定义缓存提供程序,以将我的站点缓存数据存储在MongoDb中,而不是Nhibernet二级缓存提供程序中。但我很想知道,由于Nhibernet SysCache 2提供商使用Asp.net缓存系统来缓存Nhibernet数据,它会像我的站点在mongodb中存储缓存数据一样将数据存储在我的mongodb中吗?实际上,我不确定其性能。但有些人建议将缓存和会话状态数据存储在NoSql类型的数据库(如mongodb)中,以获得更好的性能,而不是存储在昂贵的RDBMS数据库(如sqlserver)中。我知道InProc是实现最佳性能的最佳选择,但RAM内存对我来说很昂贵。另一方面,它可能有助于基于webfarm的主机托管,避免丢失服务器实例上的缓存或会话状态数据。如果我错了,请纠正我,如果有,请向我建议更好的解决方案。我无法回答您的第一个问题,但我同意:-)关于SQL与NoSQL的问题取决于您的数据结构和查询目的。SQL使用关系分解,一旦您想要执行类似
的查询,请从中选择一些内容。。。加入…
等。最好的方法是使用像MySQL这样的RDBMS。另一方面,当您想要存储一个文档(例如JSON)时,最好的选择是使用Mongo,因为它支持对特定文档的简单查询。但我必须说,您可以完美地使用MySQL存储blob数据。我做了一些性能测试,结果几乎一样。还取决于事务要求。可伸缩性对你们来说似乎很重要,但twitter/facebook仍然在集群中使用MySQL,所以使用MySQL也很有意义。正如我在开始时所说,结构和查询是解决问题的第一点。嗨,Martin,谢谢你的回答。顺便说一下,我已经为Asp.Net实现了自定义缓存提供程序,以将我的站点缓存数据存储在MongoDb中,而不是Nhibernet二级缓存提供程序中。但我很想知道,由于Nhibernet SysCache 2提供商使用Asp.net缓存系统来缓存Nhibernet数据,它会像我的站点在mongodb中存储缓存数据一样将数据存储在我的mongodb中吗?实际上,我不确定其性能。但有些人建议将缓存和会话状态数据存储在NoSql类型的数据库(如mongodb)中,以获得更好的性能,而不是存储在昂贵的RDBMS数据库(如sqlserver)中。我知道InProc是实现最佳性能的最佳选择,但RAM内存对我来说很昂贵。另一方面,它可能有助于基于webfarm的主机托管,避免丢失服务器实例上的缓存或会话状态数据。如果我错了,请纠正我,如果有,请向我建议更好的解决方案。我无法回答您的第一个问题,但我同意:-)关于SQL与NoSQL的问题取决于您的数据结构和查询目的。SQL使用关系分解,一旦您想要执行类似
的查询,请从中选择一些内容。。。加入…
等。最好的方法是使用像MySQL这样的RDBMS。另一方面,当您想要存储一个文档(例如JSON)时,最好的选择是使用Mongo,因为它支持对特定文档的简单查询。但我必须说,您可以完美地使用MySQL存储blob数据。我做了一些性能测试,结果几乎是一样的