web-dev-qa-db-fra.com

Redis errs Commande inconnue 'bzpopmin'

J'ai installé Redis version 4.0.9 dans un sous-système Ubuntu Linux sous Windows 10 en suivant ces instructions (I.E. Sudo apt-get install redis-server).

Je suis suivant ce tutoriel sur Django canaux, et j'ai exécuté le code suivant:

>>> 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')

Lorsque la dernière ligne ci-dessus est exécutée, je reçois cette erreur:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Users\xyz\Anaconda3\envs\Django\lib\site-packages\asgiref\sync.py", line 120, in __call__
    return call_result.result()
  File "C:\Users\xyz\Anaconda3\envs\Django\lib\concurrent\futures\_base.py", line 425, in result
    return self.__get_result()
  File "C:\Users\xyz\Anaconda3\envs\Django\lib\concurrent\futures\_base.py", line 384, in __get_result
    raise self._exception
  File "C:\Users\xyz\Anaconda3\envs\Django\lib\site-packages\asgiref\sync.py", line 180, in main_wrap
    result = await self.awaitable(*args, **kwargs)
  File "C:\Users\xyz\Anaconda3\envs\Django\lib\site-packages\channels_redis\core.py", line 485, in receive
    return (await self.receive_single(channel))[1]
  File "C:\Users\xyz\Anaconda3\envs\Django\lib\site-packages\channels_redis\core.py", line 508, in receive_single
    index, channel_key, timeout=self.brpop_timeout
  File "C:\Users\xyz\Anaconda3\envs\Django\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'

Sur cette page , quelqu'un a suggéré d'utiliser Redis Version 5. Comment installer Redis version 5 sur Windows 10? Toute autre idée sur la manière de résoudre ce problème?

10
Alon

Problème est avec la version. Essayez l'aîné que j'ai trouvé "2,3,4" toute version avec elle stable et fonctionnant correctement. https://github.com/tporadowski/redis/relases

0
Ambuj Jain

C'est comme ça que je résout ce problème. Ubuntu 18 installe ReDIS 4 mais Ubuntu 20 Installe ReDIS 5. Vous pouvez trouver votre version ReDIS en tapant redis-cli -v. Donc, je désinstallez Ubuntu 18 de mon sous-système Windows pour Linux (WSL) et réinstallez Ubuntu 20. Cela a fonctionné simplement.

0
Anagnostou John