2012-05-08 4 views
2

Redis에 Booksleeve 해시 API를 사용하고 있습니다.Redis Booksleeve - 해시 API를 올바르게 사용하는 방법

내가 집계 예외 얻고 그러나
CurrentConnection.Hashes.Set(0, "item:1", "priority", task.priority.ToString()); 

    var taskResult = CurrentConnection.Hashes.GetString(0, "item:1", "priority"); 

    taskResult.Wait(); 

    var priority = Int32.Parse(taskResult.Result) 

: 나는이 다음을 수행하고 "키에 대한 ERR 조작 값의 잘못된 종류를 잡고"

를 내가 여기 잘못하고있는 무슨 확실하지 않다 (제외 작업 :)).

참고 : CurrentConnection이 도와주세요 BookSleeve.RedisConnection

의 인스턴스입니다! Booksleeve 문제가 아닙니다

감사

답변

6

- 그것은 레디 스 오류입니다; 사실, 당신이보고해야 전체 오류 메시지는 다음과 같습니다

레디 스 서버 : 값의 잘못된 종류를 들고 키에 대해 작업을 ERR 내가 시도

(즉, 그것을 명확하게하기 이 오류는 Booksleeve가 아닌 redis에서 왔습니다.)

원인 : redis의 각 키에는 지정된 유형이 있습니다. 문자열, 해시, 목록 등. 해시가 아닌 다른 것에 해시 작업을 사용할 수 없습니다. "1 항목"이미 존재하지만, 해시 이외로

내 생각 엔, 그 다음이다. Booksleeve에서이를 확인하는 단위 테스트가 있습니다 (즉, 기존 해시 값이 없거나 없음).

type item:1 

(감사 @Sripathi)

+0

쉽게하는'사용하기 :

당신은 명령으로, 레디 스-CLI 또는 (푸시에서 텔넷 작품) 다른 클라이언트를 사용하여 레디 스에서이 문제를 조사 할 수 있습니다 type' 대신'object encoding'을 사용합니다. http://redis.io/commands/type –

+0

@SripathiKrishnan d' oh을 참조하십시오! 그게 제가 찾고 있던 것입니다. 감사합니다 –

+0

감사합니다 !!! 내 열쇠 : 가치는 이미 존재하고 그것은 내 오류를 던지고 !! :) 당신은 보스입니다! :) – mzalazar