【发布时间】:2016-10-12 04:25:34
【问题描述】:
我正在尝试按照教程阅读 Django Channels 的文档。在settings.py 文件中,我尝试使用以下代码将内存 BACKEND 更改为 redis 后端:
CHANNEL_LAYERS = {
"default": {
"BACKEND": "asgi_redis.RedisChannelLayer",
"CONFIG": {
"hosts": [("localhost", 6379)],
},
"ROUTING": "chan.routing.channel_routing",
},
}
但是,当我这样做时,运行runserver 命令的控制台显示以下错误:
ConnectionError: Error 61 connecting to localhost:6379. Connection refused.
我该如何解决这个问题?
【问题讨论】:
-
如果您在终端中输入
redis-cli,是否允许您建立连接?ping命令,也许吧?如果是 0k,请尝试使用 127.0.0.1 而不是localhost。 -
没有。它说找不到命令。但是在 shell 中我可以做到
import redis,print redis.Redis("localhost")这给了我Redis<ConnectionPool<Connection<host=localhost,port=6379,db=0>>>。 -
您应该从答案中发布的指南重新安装 redis。这是异常行为,未找到
redis-cli,因为它是标准 dist 的一部分。 -
看来你还没有真正安装redis服务器。
-
所做的只是安装 redis 客户端库。服务器不是 Python,不能通过 pip 安装。得到它here。