gpt4 book ai didi

asp.net-mvc - SessionProvider 的 Couchbase 存储桶与 Memcached 存储桶

转载 作者:行者123 更新时间:2023-12-02 02:57:23 28 4
gpt4 key购买 nike

我了解到 Asp.Net 的默认 sessionprovider 对于分布式应用程序来说并不是一个好的做法。所以我决定将asp.net的sessionprovider更改为couchbase。但当我尝试选择数据桶时,我不确定该使用哪个。我知道 Couchbase 是一个持久的 no-sql 数据库,而 memcached 是一个缓存服务器。

使用 couchbase 存储桶代替 memcached 存储桶或反之亦然有何优点和缺点?

我正在使用 couchbase 2.0 和 https://github.com/couchbaselabs/couchbase-aspnet用于将 couchbase 转换为 sessionprovider 的库。

最佳答案

无论是使用 Couchbase 存储桶还是 Memcached 存储桶,您都会体验到类似的优势。即使使用 Couchbase 存储桶,文档也会存储在 RAM 中。文档也首先写入 RAM,然后异步写入磁盘。所以性能应该是相似的。与其他进程外 session 状态解决方案(例如 SQL Server)相比,Couchbase 的性能应该明显更好。

除了性能之外,(正如 @DB_Chick 指出的)您将具有在节点发生故障时能够重新创建 session 的优势,因为数据不会随服务器一起消失(假设启用了复制)。

如果您将 Couchbase 存储桶与 Couchbase Server 2.0 结合使用,您将获得额外的优势,即能够根据 session 数据编写映射/归约 View (如果您存储 JSON 数据结构,则最简单)。通过 View ,您可以轻松询问“我有多少个事件 session ?”

最后,您的 session 数据仍然会随着 Couchbase 存储桶过期。当您为 session 数据设置过期时间时,Couchbase 会在定期安排的后台清理作业期间或过期后检索该项目时将该项目标记为删除。

关于asp.net-mvc - SessionProvider 的 Couchbase 存储桶与 Memcached 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12734944/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com