redis集成错误:aioredis.errors.replyerror:err未知命令'eval'

vd2z7a6w  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(496)

我是django频道的新手,正在学习教程(https://channels.readthedocs.io/en/latest/tutorial/part_2.html)
由于redis不支持Windows7,我从(https://github.com/dmajkic/redis/downloads)
当我试图从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

正如您在下面看到的,redis文件夹在6379端口启动dev server。

beq87vna

beq87vna1#

我有同样的问题遵循同样的教程,包括一个类似的和旧的项目,突然停止工作。。。以下更改解决了我的问题:
之前:

CHANNEL_LAYERS = {
    'default': {
       'BACKEND': 'channels_redis.core.RedisChannelLayer',
       'CONFIG': {
            'hosts': [('127.0.0.1', 6379)]
        },
    },
}

解决方案:

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels.layers.InMemoryChannelLayer"
   }
}

资料来源:https://channels.readthedocs.io/en/latest/topics/channel_layers.html#in-内存通道层

相关问题