Node-redis: Rappel pour xadd

Créé le 1 nov. 2019  ·  8Commentaires  ·  Source: NodeRedis/node-redis

Bonjour,

Existe-t-il un moyen d'avoir un rappel pour xadd quelque chose comme:

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

J'ai essayé et j'ai eu des erreurs.

Merci!
Mike

question

Tous les 8 commentaires

@ mikeslim7 cela existe. Pouvez-vous s'il vous plaît poster du vrai code (au lieu de .... ) car je pense que ce pourrait être juste une petite erreur.

J'ai une erreur d'appeler

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 Vous disposez d'une version de Redis qui ne prend pas en charge les flux (sans rapport avec ce problème).

@stockholmux La v2.8.0 prend -elle en charge le rappel xadd?

@gcobcqwe Oui.

J'ai le même problème avec la dernière version node_redis (2.8.0?). J'ai également essayé d'utiliser directement la branche principale, avec la même erreur.

Le code suivant ne s'exécute pas.

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

ReplyError: ERR commande inconnue xadd namestream * {"forename":"foo","lastname":"bar"} , avec les arguments commençant par:
à 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) {
commande: 'XADD NAMESTREAM * {"FORENAME": "FOO", "LASTNAME": "BAR"}',
code: 'ERR'
}

Hé, @hbel. Je pense que votre format est incorrect.
XADD mystream * field1 value1 field2 value2 field3 value3
https://redis.io/commands/xadd

L'erreur publiée ici indique que l'erreur provient directement du serveur Redis, et non du client. Ainsi, je clôt ce numéro.

Cette page vous a été utile?
0 / 5 - 0 notes