Oxblood - a new Redis client
Today I released the first version of my Redis client. For some reasons, I wasn't satisfied with the official Redis client, so I decided to make my own. There are main goals I wanted to achieve:
- first-class JRuby support
- connection pooling support out-of-the-box
- "good enough" performance for the most use cases
- mimic Redis API as close as possible. By this I mean that if you see
HMSETcommand in Redis official documentation there should be
hmsetcommand in ruby client. With the same arguments (if possible). Moreover, at the moment there is no response casting at all. So if redis server returns
1you will get exactly
booleanresult. Maybe this will be changed in the future, but I will do this only when I will have the vision of how to make it consistent and straightforward.
According to my personal goals, I wanted to make a useful pet-project and to get some practice in something I don't do daily.
I have to say that
oxblood is used in production for a couple of months and it's working pretty good.
Here you can find some benchmark results.
At the moment, I'm okay with the numbers I've got (if I did everything right).
I would greatly appreciate any help with the project. Please try it out, open issues, ask questions, write docs, open pull requests, do some more benchmarks, and so on.
v0.2.0 is out and available in RubyGems. See CHANGELOG for details.