2

Enyim.Caching を含む .NET Couchbase Client API を使用しています。約 55 MB の DataTable があり、キャッシュされていません。20メガのアイテムサイズには「ソフト」最大値があることを理解しています。

このオブジェクトをキャッシュするためにデフォルトの最大アイテム サイズを変更するにはどうすればよいですか?

4

2 に答える 2

2

Memcached バケットまたは Couchbase バケットを使用していますか? Memcached バケットを使用している場合は、1MB の制限に達している可能性があります。簡単なサンプル プログラム:

var config = new CouchbaseClientConfiguration();
config.Urls.Add(new Uri("http://127.0.0.1:8091/pools/default"));
config.Bucket = "memcached";
config.BucketPassword = "qwerty";
var client = new CouchbaseClient(config);

var size = 1000000;
var sb = new StringBuilder();
for (int i = 0; i < size; i++) { sb.Append("z"); };
var data = sb.ToString();
var result = client.Store(StoreMode.Set, "foo", data);
Console.WriteLine(data.Length + ": " + result);

size変数が 1000000 に設定されている場合resultは true です。sizeが 1 MB 強 (たとえば 1100000) に設定されている場合、falseresultになります。代わりに Couchbase バケットを使用する場合は、size20000000 に設定するresultと true になります。ただし、size21000000 に設定すると、Store操作が失敗します。

Memcached バケットを使用していない場合はお知らせください... また、このサンプルでは 1.8 サーバーで .NET 1.0 クライアントを使用していることにも注意してください。

-- ジョン

于 2012-01-31T18:39:01.250 に答える
0

CouchbaseフォーラムのMikeWによる投稿はこちら

これには、ソース コードの定数を変更し、Couchbase を自分で構築する必要があります。

それを回避する方法はないようです。助けてくれてありがとう。

于 2012-02-02T20:17:42.040 に答える