我正在使用包含Enyim.Caching的.NET Couchbase客户端API。我有一个大约55兆的DataTable,它没有被缓存。我知道项目大小为20兆的最大“软”。
如何更改默认的最大项目大小以缓存此对象?
答案 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)