2012-09-05 2 views
2

Redis와 함께 ServiceStack Cache Client를 사용하여 정수를 캐시합니다.ServiceStack의 Redis 캐시 클라이언트가 존재하지 않는 정수 유형의 키에 대해 null 대신 0을 반환하는 이유는 무엇입니까?

은 내가 이런 식으로 존재하지 않는 알고있는 키 가져 오기 메소드를 호출하고 있습니다 :

int? count; 
count = cachClient.Get<int>(myKey); 

count 항상이 호출 후 0의 값을 갖는다.

설명서에서 Get 메서드가 존재하지 않는 키에 대해 null을 반환 할 것으로 예상됩니다.

내가 잘못했거나 잘못 이해하고 있습니까?

+1

메서드 호출에서 nullable이 아닌 int 형식을 반환해야한다고 말하지 않았습니까? 그렇다면 기본값 대신 0이 반환됩니다. 두 번째 줄을'count = cachClient.Get (myKey);로 변경하고 null을 반환하는지보십시오. – Bridge

+0

글쎄, 그게 효과가있어. 내 생각에 분명했을거야. 감사! 답변을 올리면 받아 들일 것입니다. – stephen776

+0

적어도 더 불길한 것이 아닙니다! :-) – Bridge

답변

3

메서드 호출에서 nullable이 아닌 int 형식을 반환해야한다고 했으므로 대신 기본값 인 0이 반환됩니다. 두 번째 줄을 다음으로 변경해보십시오.

count = cachClient.Get<int?>(myKey); 

그리고 null이 반환되는지 확인하십시오.

관련 문제