1

appharbor で Redis をセットアップしようとしています。彼らの指示に従いましたが、Booksleeve API に問題があります。最初に機能させるために使用しているコードは次のとおりです。

               var connectionUri = new Uri(url);

                using (var redis = new RedisConnection(connectionUri.Host, connectionUri.Port, password: connectionUri.UserInfo.Split(new[] { ':' }, 2)[1]))
                {
                    redis.Strings.Set(1, "greeting", "welcome to remember your stuff!");

                    try
                    {
                        var task = redis.Strings.GetString(1, "greeting");

                        redis.Wait(task);

                        ViewBag.Message = task.Result;
                    }
                    catch (Exception)
                    {
                        // It throws an exception trying to wait for the task?
                    }
                }

ただし、問題は文字列を正しく設定することですが、キー値ストアから同じ文字列を取得しようとすると、タスクが実行されるのを待ってタイムアウト例外がスローされます。ただし、このコードはローカルの redis サーバー接続で機能します。

API の使い方が間違っていますか? または、これは Appharbor に関連するものですか?

ありがとう

4

1 に答える 1

1

のようにSqlConnection、電話をかける必要がありますOpen()(そうでない場合、メッセージは配信のためにキューに入れられます)。

とは異なり SqlConnection、起動しないRedisConnectionでください。これは、共有のスレッドセーフなマルチプレクサとして使用することを目的としています。つまり、単一の接続がどこかに保持され、多くの無関係な呼び出し元によって使用されます。もちろん、1つのことだけを行う必要がある場合を除きます。

于 2012-04-27T07:23:04.047 に答える