私はEnyim.Cachingを含む.NET Couchbase Client APIを使用しています。私は約55メガのDataTableを持っており、キャッシュされていません。私は20メグのアイテムサイズのために「ソフトな」最大値があることを理解しています。デフォルトのCouchbaseアイテムサイズを変更するにはどうすればよいですか?
このオブジェクトをキャッシュするには、どのようにデフォルトの最大アイテムサイズを変更できますか?
私はEnyim.Cachingを含む.NET Couchbase Client APIを使用しています。私は約55メガのDataTableを持っており、キャッシュされていません。私は20メグのアイテムサイズのために「ソフトな」最大値があることを理解しています。デフォルトのCouchbaseアイテムサイズを変更するにはどうすればよいですか?
このオブジェクトをキャッシュするには、どのようにデフォルトの最大アイテムサイズを変更できますか?
パーMikeW:
これは自分Couchbaseのソースコードと建物の中に定数を変更する必要があります。
周りに道がないようです。助けてくれてありがとう。
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から私は元々バイトをミスカウントして以来、私は実際に質問を変えました。私は55メガを保存しようとしていましたが、5.5メガではありませんでした。私はCouchbase v1.8を.NET Couchbase Client APIとともに使用しています。 – DougJones
Memcachedバケットを使用しているときに1MBの制限がありますか? –
ステータスコード3は、オブジェクトが20MB未満の場合は取得しないでください。サイズを再確認してコードを投稿できますか? – mikewied
編集された質問。私は間違った場所に小数点を置きます。それは5.5メガではなく、5.5メガです。助けてくれてありがとう! – DougJones