2012-05-08 11 views
2

RedisにBooksleeveハッシュAPIを使用しています。私は、次のことをやっている:Redis Booksleeve - Hash 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

のインスタンスです!

ありがとう

答えて

6

これはBooksleeveの問題ではありません。これは赤字エラーです。実際には、あなたが見てしなければならないフルエラーメッセージは次のとおりです。

Redisのサーバー:私はそれを明確にすることを作ってみる価値

の間違った種類を保持するキー(に対して操作をERRこのエラーは、Booksleeveではなく、赤字から来ています)

この原因は何ですか?redisの各キーには指定された種類があります。文字列、ハッシュ、リストなどがあります。ハッシュでないものに対してハッシュ演算を使用することはできません。

私の推測では、 "item:1" は既に存在しますが、ハッシュ以外のものとして存在しています。私はBooksleeveからこれを確認する単体テストを持っています(つまり、既存の非ハッシュ値がある場合とない場合)。あなたはコマンドを使用して、Redisの-CLIまたは他のクライアント(プッシュでのtelnet作品を、)を使用してのRedisでこれを調べることができ

type item:1 

(感謝@Sripathi)

+0

使用する方が簡単 'オブジェクトのエンコーディングの代わりに '型'を使用します。 http://redis.io/commands/type –

+0

@SripathiKrishnan d'ohを参照してください。それは私が探していたものです。おかげで –

+0

ありがとう!私の鍵:価値は既に存在し、それは私のエラーを投げていた!!!! :)あなたはボスです! :) – mzalazar

関連する問題