ReplyError:ERR未知命令';evalsha';(Node.js,bull)

ReplyError:ERR未知命令';evalsha';(Node.js,bull),node.js,redis,promise,Node.js,Redis,Promise,我尝试在windows上使用Redis的bull软件包,我的服务器已经启动并运行,但当我尝试访问作业时,它会给我一个错误, 我的代码到目前为止 const queue = require('bull'); const jobs = new queue('jobs') jobs.process((job, done) => { try { console.log(job) } catch (error) { console.log(err

我尝试在windows上使用Redis的bull软件包,我的服务器已经启动并运行,但当我尝试访问作业时,它会给我一个错误, 我的代码到目前为止

const queue = require('bull');
const jobs = new queue('jobs')

jobs.process((job, done) => {

    try {
        console.log(job)

    } catch (error) {
        console.log(error)
    }
   })

app.post('/upload', (req, res) => {

    let dat = req.query;

    jobs.add(dat).then(() => {
        console.log('done')
    }).catch(e => console.log(e))

    res.send('job done')
})
以下是错误:

{ name: 'evalsha',
  args:
   [ '0a9a51ee96320953ec7bde8e63f3f060b9dac00c',
     '6',
     'bull:jobs:wait',
     'bull:jobs:paused',
     'bull:jobs:meta-paused',
     'bull:jobs:id',
     'bull:jobs:delayed',
     'bull:jobs:priority',
     'bull:jobs:',
     '',
     '__default__',
     '{"data":"muny"}',
     '{"attempts":1,"delay":0,"timestamp":1568792004594}',
     '1568792004594',
     '0',
     '0',
     '0',
     'LPUSH',
     '4fc02f94-d198-4353-b1b3-8da40399a9c5' ] } }
猜猜为什么会这样?
而且,即使我这样做了,它也会抛出未经处理的承诺拒绝,这种行为是否仅适用于windows?

正如我所看到的,您正在使用的是
redis 2.4.6
,但根据:

所以,这就是这个错误被抛出的原因


现在,如果你找不到适用于windows的redis二进制文件,你可以从

下载3.2.1,问题不在于Bull,而在于你的redis版本。 将Redis升级到最新的[稳定]版本有助于解决此问题

如果您在windows系统上,并且需要安装最新版本的Redis。 目前,最好的是在帖子中强调:

aizen,你用的是哪个版本的redis?啊,我看你也是一个文化人,版本是3.11.0你确定你用的是3.11吗?原因稳定的是redis 5,不稳定的是redis 2.9.x,prod验证版是4(2年前发布)。你能再检查一遍redis服务器的版本吗。我想再确认一下。它是在2.6.x之后引入的,请确保您有正确的版本。我建议升级redis服务器,以检查问题是否持续存在是的,我认为问题在于
redis服务器
,它是windows的最新版本2.4.6,您可以在此处检查-。我想可能是这样的,谢谢你的帮助:)
EVALSHA sha1 numkeys key [key ...] arg [arg ...]
Available since 2.6.0.