Vapor: Redis (vapor 3) features

Created on 25 Oct 2017  路  4Comments  路  Source: vapor/vapor

  • [x] Pub/sub
  • [x] Pipelining
enhancement

Most helpful comment

Added a pull request for it #1234. I did some performance tests and noticed it was around 3 times faster when sending a lot of commands.

All 4 comments

Should we implement pipelining? Is it essential? As far as I can read it does nothing more than chaining a set of commands into a single TCP message. It's easily implemented, but the API for adding commands to a pipeline is possibly a bit of a maintenance burden. The Redis should be really fast now, so I don't think it has a huge advantage currently.

The performance improvements with pipelining are pretty substantial when there鈥檚 high latency. I have been using it pretty heavily in SwiftQ. It鈥檚 especially useful when needing to do transactions. i.e with out pipelining you would have to wait for the response from the MULTI command before enqueuing any commands to execute. I think this would have bad performance especially if the Redis instance is connected via a different host. I might have time this week to add a PR for this if that would help?

Thanks for the reply! Good to know it's still really important.

You could pick it up for a PR, sure! If you don't manage to pick it up I'll make sure this is implemented, still. A PR should be based off #1222 since the architecture changed slightly and that could give you some merge errors.

Added a pull request for it #1234. I did some performance tests and noticed it was around 3 times faster when sending a lot of commands.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jsl303 picture jsl303  路  4Comments

nhatlee picture nhatlee  路  3Comments

Joannis picture Joannis  路  4Comments

0xTim picture 0xTim  路  4Comments

OlegKorchickiy picture OlegKorchickiy  路  3Comments