Node-redis: رد الاتصال لـ xadd

تم إنشاؤها على ١ نوفمبر ٢٠١٩  ·  8تعليقات  ·  مصدر: NodeRedis/node-redis

مرحبا،

هل هناك طريقة لإجراء رد اتصال لـ xadd شيء مثل:

redisClient.xadd(streamName, '*',....,function(err,resp){
console.log(resp);
});

حاولت ووجدت أخطاء.

شكرا!
مايك

question

ال 8 كومينتر

@ mikeslim7 هذا موجود. هل يمكنك نشر رمز حقيقي (بدلاً من .... ) حيث أعتقد أنه قد يكون مجرد خطأ بسيط.

لدي خطأ من الاتصال

redisClient.xadd('mystream', '*', 'field1', 'm1', function (err) {
});

{ ReplyError: ERR unknown command `xadd`, with args beginning with: `mystream`, `*`, `field1`, `m1`, 
    at parseError (/home/work/node_modules/redis-parser/lib/parser.js:193:12)
    at parseType (/home/work/node_modules/redis-parser/lib/parser.js:303:14)
  command: 'XADD',
  args: [ 'mystream', '*', 'field1', 'm1' ],
  code: 'ERR' }

protectedvar لديك إصدار من

@ stockholmux هل يدعم الإصدار v2.8.0 رد اتصال xadd؟

gcobcqwe نعم.

لدي نفس المشكلة مع أحدث إصدار node_redis (2.8.0؟). حاولت أيضًا استخدام الفرع الرئيسي مباشرةً ، مع حدوث نفس الخطأ.

الكود التالي لا يعمل.

const rdb = redis.createClient("redis://localhost:6379");
const send = promisify(rdb.sendCommand).bind(rdb);
const n = {forename: "foo", lastname: "bar"};
send(`XADD nameStream * ${JSON.stringify(n)}`).catch(e => console.error(e));

خطأ في الرد: خطأ غير معروف أمر غير معروف xadd namestream * {"forename":"foo","lastname":"bar"} ، حيث تبدأ args بـ:
في parseError (/Users/hendrik/git/ownprojects/databroker/node_modules/redis-parser/lib/parser.js:193:12)
في parseType (/Users/hendrik/git/ownprojects/databroker/node_modules/redis-parser/lib/parser.js:303:14) {
الأمر: 'XADD NAMESTREAM * {"FORENAME": "FOO"، "LASTNAME": "BAR"}'،
الكود: "ERR"
}

مرحبًا ، hbel. أعتقد أن تنسيقك غير صحيح.
XADD mystream * field1 value1 field2 value2 field3 value3
https://redis.io/commands/xadd

يشير الخطأ المنشور هنا إلى أن الخطأ جاء مباشرة من خادم Redis ، وليس من العميل. وبالتالي ، فإنني أغلق هذا الموضوع.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات