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

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

我是django频道的新手,正在学习教程(https://channels.readthedocs.io/en/latest/tutorial/part_2.html)
由于redis不支持Windows7,我从(https://github.com/dmajkic/redis/downloads)
当我试图从django shell访问redis时,我遇到了主题中提到的错误。

  1. $ python3 manage.py shell
  2. >>> import channels.layers
  3. >>> channel_layer = channels.layers.get_channel_layer()
  4. >>> from asgiref.sync import async_to_sync
  5. >>> async_to_sync(channel_layer.send)('test_channel', {'type': 'hello'})
  6. >>> async_to_sync(channel_layer.receive)('test_channel') # ERROR OCCURED AFTER THIS STEP

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

beq87vna

beq87vna1#

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

  1. CHANNEL_LAYERS = {
  2. 'default': {
  3. 'BACKEND': 'channels_redis.core.RedisChannelLayer',
  4. 'CONFIG': {
  5. 'hosts': [('127.0.0.1', 6379)]
  6. },
  7. },
  8. }

解决方案:

  1. CHANNEL_LAYERS = {
  2. "default": {
  3. "BACKEND": "channels.layers.InMemoryChannelLayer"
  4. }
  5. }

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

展开查看全部

相关问题