Вы используете ковш Memcached или ковш Couchbase? Если вы используете ведро Memcached, вы, скорее всего, достигли предела 1 МБ. Быстрый пример программы:
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
будет ложным. Если вместо этого вы используете ковш Couchbase, вы можете установить size
на 20000000, а значение result
будет истинным. Однако установка size
до 21000000 приведет к сбою операции Store
.
Если вы не используете ведро Memcached, пожалуйста, дайте мне знать ... Также обратите внимание, что я использую клиент .NET 1.0 с сервером 1.8 для этого примера.
- Джон
Код состояния 3 - E2BIG, который вы не должны получать, если объект меньше 20 МБ. Можете ли вы дважды проверить размер, а также опубликовать свой код? – mikewied
Отредактированный вопрос. Я помещаю десятичную запятую в неправильное место. Это 55 мегабайт вместо 5,5 мегабайт для предмета. Спасибо за помощь! – DougJones