我正在尝试在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有关?
谢谢
发布于 2012-04-27 15:23:04
与SqlConnection类似,您需要调用Open() (否则您的消息将排队等待传递)。
与 SqlConnection不同,您不应该在每次需要时 RedisConnection -它的目的是用作共享的、线程安全的多路复用器-即单个连接被保存在某个地方,并由大量无关的调用者使用。当然,除非你只需要做一件事!
https://stackoverflow.com/questions/10346350
复制相似问题