Py学习  »  Redis

通过HTTP连接到Azure Redis缓存

ssougnez • 4 年前 • 377 次点击  

我正在使用“servicestack.redis”连接到redis,它在我的开发机器上正常工作。

基本上,我通过这条线打开连接:

client = new RedisClient(host);

在哪里? host 在我的开发机器上,是“localhost”。

现在,我想将我的应用程序上载到Azure,因此我在Azure中创建了一个缓存,并尝试通过传递以下连接字符串连接到它:

xxx.redis.cache.windows.net,ssl=false,password=yyy

“redisclient”的创建似乎有效,但当我尝试执行一个操作时(要执行的第一个操作是 client.RemoveByPattern("...") )我得到以下错误:

异常详细信息:system.net.sockets.socketException:没有这样的主机 已知的

请注意,我允许通过HTTP连接缓存,所以通常情况下,端口6379是不阻塞的,可以访问的。

我在Internet上找到的所有示例都使用“connectionmultiplexer”,但这个类似乎没有在nuget包“servicestack.redis”中找到。

我做错什么了?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38937
 
377 次点击  
文章 [ 1 ]  |  最新文章 4 年前
richardb
Reply   •   1 楼
richardb    5 年前

我也有同样的(相似的?)使用ServiceStack连接到Azure Redis时出现问题,最终它为我使用的连接制定了正确的语法。xxx.redis.cache.windows.net?ssl=真

在这里找到一些帮助 https://github.com/ServiceStack/ServiceStack.Redis ,但引用连接字符串部分有示例;

“Redis连接字符串已扩展为支持更通用的URI格式,现在可以在单个连接字符串(类似于db连接字符串)中捕获大多数Redis客户端设置。

Redis连接字符串支持多种类似于URI的格式,从简单的主机名或IP地址和端口对到具有在querystring上指定的多个选项的完全限定的URI。”

支持格式的一些示例:

localhost
127.0.0.1:6379
redis://localhost:6379
password@localhost:6379
clientid:password@localhost:6379
redis://clientid:password@localhost:6380?ssl=true&db=1

注意:我在这里使用了最后一个示例,但是没有redis://bit,因为我发现在Azure中不需要它。