我正在尝试按照Django Channels在read the docs上的教程进行操作。在settings.py
文件中,我试图使用以下代码将inmemory后端更改为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
命令。如果一切正常,请尝试使用 127.0.0.1 而不是localhost
。 - Damaged Organicimport redis
和print redis.Redis("localhost")
命令,输出为Redis<ConnectionPool<Connection<host=localhost,port=6379,db=0>>>
。 - MiniGunnRredis-cli
不可用,这是异常行为,因为它是标准发行版的一部分。 - Damaged Organicpip install asgi_redis
命令。我认为它已经为我安装了 Redis,因为后来我尝试运行pip install redis
的时候,它告诉我这个需求已经被安装了。我是在虚拟环境下进行所有操作的。难道我漏掉了什么吗? - MiniGunnR