如何更改默认的Couchbase项目大小?

时间:2012-01-19 21:37:33

标签: c# couchbase membase enyim

我正在使用包含Enyim.Caching的.NET Couchbase客户端API。我有一个大约55兆的DataTable,它没有被缓存。我知道项目大小为20兆的最大“软”。

如何更改默认的最大项目大小以缓存此对象?

2 个答案:

答案 0 :(得分: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为真。当size设置为刚好超过MB(例如1100000)时,result将为false。如果您使用Couchbase存储桶,则可以将size设置为20000000,result将为true。但是,将size设置为21000000将导致Store操作失败。

如果您没有使用Memcached存储桶,请告诉我...另请注意,我正在使用带有1.8服务器的.NET 1.0客户端来获取此示例。

- 约翰

答案 1 :(得分:0)

来自Couchbase论坛帖子here的每个MikeW:

  

这需要修改源代码中的常量并自己构建Couchbase。

似乎没有办法绕过它。谢谢你的帮助。