Django Redis 错误未知命令“BZPOPMIN”

1 python django redis

我已经安装了Redis 3.0.54。姜戈已更新。我正在从教程页面学习频道。

这是我的 redis-cli 和 redis 服务器的终端窗口 终端 图像

System check identified no issues (0 silenced).
August 06, 2020 - 16:04:58
Django version 3.1, using settings 'mysite.settings'
Starting ASGI/Channels version 2.4.0 development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
HTTP GET /chat/lobby/ 200 [0.02, 127.0.0.1:60841]
WebSocket HANDSHAKING /ws/chat/lobby/ [127.0.0.1:60843]
WebSocket CONNECT /ws/chat/lobby/ [127.0.0.1:60843]
Exception inside application: ERR unknown command 'BZPOPMIN'
Traceback (most recent call last):
  File "C:\Users\\Envs\py2\lib\site-packages\channels\sessions.py", line 183, in __call__
    return await self.inner(receive, self.send)
  File "C:\Users\\Envs\py2\lib\site-packages\channels\middleware.py", line 41, in coroutine_call
    await inner_instance(receive, send)
  File "C:\Users\\Envs\py2\lib\site-packages\channels\consumer.py", line 59, in __call__
    [receive, self.channel_receive], self.dispatch
  File "C:\Users\\Envs\py2\lib\site-packages\channels\utils.py", line 58, in await_many_dispatch
    await task
  File "C:\Users\\Envs\py2\lib\site-packages\channels\utils.py", line 50, in await_many_dispatch
    result = task.result()
  File "C:\Users\\Envs\py2\lib\site-packages\channels_redis\core.py", line 453, in receive
    real_channel
  File "C:\Users\\Envs\py2\lib\site-packages\channels_redis\core.py", line 508, in receive_single
    index, channel_key, timeout=self.brpop_timeout
  File "C:\Users\\Envs\py2\lib\site-packages\channels_redis\core.py", line 345, in _brpop_with_clean
    result = await connection.bzpopmin(channel, timeout=timeout)
aioredis.errors.ReplyError: ERR unknown command 'BZPOPMIN'
WebSocket DISCONNECT /ws/chat/lobby/ [127.0.0.1:60843]
Run Code Online (Sandbox Code Playgroud)

Ers*_*soy 7

BZPOPMINBZPOPMAX(也是非阻塞版本ZPOPMINZPOPMAX)“自 5.0.0 起可用”。您需要将 redis 至少升级到版本 5 才能使用它们,因为您使用版本 3.0.54。

您可以检查下载页面以获取可用版本和下载说明。