3

Asp.Netのデフォルトのsessionproviderは、分散アプリケーションには適していません。そこで、asp.netのsessionproviderをcouchbaseに変更することにしました。しかし、データバケットを選択しようとしたときにどちらを使用すればよいかわかりません。Couchbaseは永続的なno-sqldbであり、memcachedはキャッシュサーバーであることを私は知っています。

memcachedバケットの代わりにcouchbaseバケットを使用すること、またはその逆の場合の長所と短所は何ですか?

couchbaseをsessionproviderに変換するために、couchbase2.0とhttps://github.com/couchbaselabs/couchbase-aspnetライブラリを使用しています。

4

2 に答える 2

8

CouchbaseバケットとMemcachedバケットのどちらを使用する場合でも、同様の利点があります。Couchbaseバケットを使用している場合でも、ドキュメントはRAMに保存されます。ドキュメントも最初にRAMに書き込まれ、次に非同期でディスクに書き込まれます。したがって、パフォーマンスは同様である必要があります。他のアウトプロセスセッション状態ソリューション(SQL Serverなど)と比較して、Couchbaseのパフォーマンスは大幅に向上するはずです。

パフォーマンスを超えて(@DB_Chickが指摘したように)、データがサーバーで停止しないため(レプリケーションが有効になっている場合)、ノードに障害が発生した場合にセッションを再作成できるという利点があります。

If you use a Couchbase bucket with Couchbase Server 2.0, you'll have the additional advantage of being able to write map/reduce views against your session data (easiest if you store JSON data structures). With views, you could easily ask "How many active sessions do I have?"

Finally, your session data will still expire with Couchbase buckets. When you set an expiry on the session data, Couchbase flags that item for deletion either during a regularly scheduled background cleanup job or when the item is retrieved after expiration.

于 2012-10-08T15:23:41.607 に答える
5

Couchbaseバケットは、オンラインリバランス(クラスターのスケーリング用)、永続性、レプリケーション、フェイルオーバーなど、Couchbase固有のすべての機能をサポートします。これは推奨されるバケットタイプです。

memcachedバケットは、コアmemcachedプロトコルのみをメモリ内キャッシュとしてサポートするように設計されています。したがって、サポートと機能は、スタンドアロンのmemcached実装内と同じ機能に制限されます。

詳細はこちら: http: //www.couchbase.com/docs/couchbase-manual-2.0/couchbase-introduction-architecture-buckets.html

于 2012-10-05T09:00:46.577 に答える