分布式缓存/会话我应该转向哪里?
I am currently looking at a distributed cache solution.
If money was not an issue, which would you recommend?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
I am currently looking at a distributed cache solution.
If money was not an issue, which would you recommend?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
在您的选择中,我只尝试过使用 memcached,即使如此,它也不是 C#/.NET 库。
然而,memcached 技术已经得到相当充分的验证,只需查看使用它的网站:
我真的没有理由考虑其他解决方案。
祝你好运,
布莱恩·G.
Out of your selection I've only ever attempted to use memcached, and even then it wasn't the C#/.NET libraries.
However memcached technology is fairly well proven, just look at the sites that use it:
I don't really see a reason to look at the other solution's.
Good Luck,
Brian G.
人们在评估解决方案时通常会忘记的一件事是专门的支持。
如果您使用 memcached,那么您将一无所获,因为您使用的是完全开源的软件,不受任何供应商支持。 是的,核心平台经过了长时间的测试,但 C# 客户端库的情况可能要差得多。 是的,您可能会在论坛等上获得一些帮助,但不能保证回复会很快,也不能保证您会得到任何回复。
我不知道对 NCache 或 ScaleOut 缓存的支持怎么样,但在选择它们之前值得了解一下。 在过去的几年里,我曾与许多公司进行过合作,寻求支持,而这些支持通常会外包给那些不在公司工作的人(没有机会接触到在公司工作的人),这意味着没有机会获得支持。及时支持的质量。 另一方面,我也与一些公司打过交道,这些公司会将严重问题上报给合适的人,非常快速地解决重要问题,并向您发送个人补丁。
微软就是其中之一,这也是我们使用他们的软件作为平台的原因之一。 如果您遇到生产问题,那么您可以依靠他们的支持。 所以我倾向于在很大程度上基于此基础上使用 Velocity。
不过,无论您选择哪种缓存,最重要的事情可能是将其抽象到您自己的接口(例如 ICache)后面,这将允许您评估其中的一些缓存,而不会阻碍其余的开发过程。 这意味着即使您最初的决定不适合您,您也可以在不破坏应用程序大部分内容的情况下进行切换。
(注意:我在这里假设所有缓存都有足够的功能来支持您需要的功能,并且所有缓存都具有足够且大致相似的性能。这可能不是一个有效的假设,在这种情况下,您需要提供在你的问题中更详细地说明为什么它不是)。
One thing that people typically forget when evaluating solutions is dedicated support.
If you go with memcached then you'll get none, because you're using completely open source software that is not backed by any vendor. Yes, the core platform is well tested by virtue of age, but the C# client libraries are probably much less so. And yes, you'll probably get some help on forums and the like, but there is no guarantee responses will be fast, and no guarantee you'll get any responses at all.
I don't know what the support for NCache or the ScaleOut cache is like, but it's something that's worth finding out before choosing them. I've dealt with many companies for support over the last few years and the support is often outsourced to people who don't even work at the company (with no chance of getting to the people who do) and this means no chance of getting quality of timely support. On the other hand I've also dealt with companies who'll escalate serious issues to the right people, fix important issues very fast, and ship you a personal patch.
One of those companies is Microsoft, which is one of the reasons that we use their software as our platform. If you have a production issue, then you can rely on their support. So my inclination would be to go with Velocity largely on this basis.
Possible the most important thing though, whichever cache you choose, is to abstract it behind your own interface (e.g. ICache) which will allow you to evaluate a number of them without holding up the rest of the development process. This means that even if your initial decision turns out not to work for you, you can switch it without breaking much of the application.
(Note: I'm assuming here that all caches have sufficient features to support what you need from them, and that all caches have sufficient and broadly similar performance. This may not be a valid assumption, in which case you'll need to provide more detail in your question as to why it isn't).
您还可以将 Oracle Coherence 添加到您的列表中。 它具有 .NET 和 Java API。
You could also add Oracle Coherence to your list. It has both .NET and Java APIs.
来自微软:App Fabric
商业:NCache
开源:RIAK
我们尝试了一些方法,最后我们使用了 asp.net/mvc 的 SQL 会话提供程序,是的,连接数据库有开销,但是我们的数据库服务器非常快,而且网络场有足够的容量,所以没什么大不了。
对 RIAK 具有 .net 客户端并被雅虎使用非常感兴趣 - 可以扩展到许多 manu 服务器
From microsoft : App fabric
Commerical : NCache
Open source : RIAK
We tried a couple in the end we use the SQL session provider for asp.net/mvc yes there is the overhead of the connection to the DB but our DB server is very fast and the web farm has loads of capacity so not an issue.
Very interested in RIAK has .net client and used by Yahoo - can be scaled to many manu server