【发布时间】:2020-07-27 11:09:52
【问题描述】:
我是 Django 频道的新手并遵循教程 (https://channels.readthedocs.io/en/latest/tutorial/part_2.html)
由于 Redis 不支持 Windows 7,我从 (https://github.com/dmajkic/redis/downloads) 下载了 Redis 2.4 版
当我尝试从 Django shell 访问 Redis 时,出现主题中提到的错误。
$ python3 manage.py shell
>>> import channels.layers
>>> channel_layer = channels.layers.get_channel_layer()
>>> from asgiref.sync import async_to_sync
>>> async_to_sync(channel_layer.send)('test_channel', {'type': 'hello'})
>>> async_to_sync(channel_layer.receive)('test_channel') # ERROR OCCURED AFTER THIS STEP
【问题讨论】:
-
Eval 自 Redis 2.6 起可用。 Redis 2.4 已经接近 10 年了 - 现代框架已经摆脱了不受支持的平台和不受支持的版本,这是一种预期。
-
谢谢,你有 Redis 2.6 repo 的参考吗?
-
从 (sourceforge.net/projects/redis) 下载了 Redis 2.4:但出现了新错误,aioredis.errors.ReplyError: ERR unknown command 'BZPOPMIN'。
-
@Melvyn 我可以在没有 Redis 的情况下运行 Channels 吗?
-
github.com/django/channels_redis#dependencies -> Redis >= 5.0。您可以使用另一个 layers backend 运行频道,但本教程使用 redis。
标签: django redis django-channels