2012-01-19 3 views
2

Enyim.Caching이 포함 된 .NET Couchbase Client API를 사용하고 있습니다. 나는 약 55 메가의 DataTable을 가지고 있고 캐시되지 않는다. 아이템 크기가 20 meg 인 경우 "최대"소프트가 있음을 이해합니다.기본 Couchbase 항목 크기를 변경하려면 어떻게해야합니까?

이 개체를 캐시하려면 어떻게 기본 최대 항목 크기를 변경할 수 있습니까?

+1

개체가 20MB 미만인 경우 상태 코드 3은 E2BIG가 아닙니다. 크기를 다시 확인하고 코드를 게시 할 수 있습니까? – mikewied

+0

수정 된 질문입니다. 나는 십진법을 틀린 장소에 넣었다. 이 항목은 5.5 megs 대신 55 megs입니다. 도와 주셔서 감사합니다! – DougJones

답변

0

당 MikeW :

이 자신 카우치베이스 주식회사 소스 코드와 건물에 일정한 수정이 필요합니다.

주위를 둘러 볼 수없는 것처럼 보입니다. 도와 주셔서 감사합니다.

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 변수는 result 사실이다, 1000000로 설정됩니다. size이 MB보다 약간 큰 값, 예를 들어 1100000으로 설정되면 result은 false가됩니다. 대신 Couchbase 버킷을 사용하는 경우 size을 20000000으로 설정하고 result을 true로 설정할 수 있습니다. 그러나 size을 21000000으로 설정하면 Store 작업이 실패하게됩니다.

Memcached 버킷을 사용하지 않는 경우 나에게 알려주십시오 ... 또한이 샘플에서는 1.8 서버와 함께 .NET 1.0 클라이언트를 사용하고 있습니다.

- 존

카우치베이스 주식회사 포럼 포스트 here에서
+0

응답을 감사하지만 원래 바이트를 잘못 계산했기 때문에 실제로 질문을 변경했습니다. 나는 55 megs가 아니라 55 megs를 저장하려고 시도했는데, 이는 내 문제를 변화시켰다. Couchbase v1.8을 .NET Couchbase Client API와 함께 사용하고 있습니다. – DougJones

+0

Memcached 버킷을 사용할 때 1MB 제한을 초과하는 방법이 있습니까? –

관련 문제