2012-01-19 3 views
2

私はEnyim.Cachingを含む.NET Couchbase Client APIを使用しています。私は約55メガのDataTableを持っており、キャッシュされていません。私は20メグのアイテムサイズのために「ソフトな」最大値があることを理解しています。デフォルトのCouchbaseアイテムサイズを変更するにはどうすればよいですか?

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

+1

ステータスコード3は、オブジェクトが20MB未満の場合は取得しないでください。サイズを再確認してコードを投稿できますか? – mikewied

+0

編集された質問。私は間違った場所に小数点を置きます。それは5.5メガではなく、5.5メガです。助けてくれてありがとう! – DougJones

答えて

0

パーMikeW:

これは自分Couchbaseのソースコードと建物の中に定数を変更する必要があります。

周りに道がないようです。助けてくれてありがとう。

2

MemcachedバケットまたはCouchbaseバケットを使用していますか? Memcachedバケットを使用している場合は、1MBの制限を超える可能性があります。迅速なサンプルプログラム:size変数は1000000に設定されている場合

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); 

は、resultはtrueです。 sizeがMBをちょうど上回る、たとえば1100000と設定されている場合、resultはfalseになります。代わりにCouchbaseバケットを使用する場合は、sizeを20000000に設定し、resultをtrueに設定することができます。ただし、sizeを21000000に設定すると、Store操作が失敗します。

Memcachedバケットを使用していない場合は、私に教えてください...また、このサンプルでは1.8サーバーを備えた.NET 1.0クライアントを使用しています。

- ジョン

Couchbaseのフォーラムのポスト hereから
+0

私は元々バイトをミスカウントして以来、私は実際に質問を変えました。私は55メガを保存しようとしていましたが、5.5メガではありませんでした。私はCouchbase v1.8を.NET Couchbase Client APIとともに使用しています。 – DougJones

+0

Memcachedバケットを使用しているときに1MBの制限がありますか? –

関連する問題