-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Offer a Redis extension #4453
Comments
Hi @emmanuelbernard I'll be interested to work on this :-) |
I've done some investigation on it. I tried to get Redisson working with quarkus and native compile --> failed. BR, Alfred |
I have been giving this a thought and here are some early ideas that I have: In terms of design, the quarkus-mailer client is an inspiration - so I am thinking of having an extensions which will offer a blocking redis-client, a reactive one, and a mocked one for tests (?). I have been thinking to use I may start experiment some ideas midweek. |
During my experiments I got https://lettuce.io with following entries in dynamic-proxy-config.json
and following aditional entries to reflect-config.json
working with native compile. BR, Alfred |
@alfsch Yes, I suspect we’ll have to register some classes for reflection for things to work out of the box in native image. The extension will handle all that and more (CDI, configuration) as I suggested. |
I have not dived but this sounds good. |
I have opened a PR here #4882, chim in and give your feedback. |
Since the PR of @machi1990 has been closed again: Is there any progress on this extension? Or maybe, can someone (@pmlopes?) outline how one would use the vert.x redis client with quarkus (including native builds)? Thanks + BR |
@andreas-eberle I don't have experience with writing extensions, what I can say is that if you create a bean injecting the vertx instance you can use the vertx api. Since the vertx redis client uses no reflection or features incompatible with graalvm native images it will work on native too. Be aware that redis has been total rewrote for 4.0 and that's where all features, sentinel/cluster support exists. |
Hi @andreas-eberle @pmlopes I'll work on this extension and be able to make progress on it once I am back from vacations (in a week time from now). |
Hey @machi1990 I am planning the roadmap for the next 3-6 months, do you feel you will achieve this by then? |
Hey @emmanuelbernard , we'd need a 4.0 Vertx release to be able to offer cluster support if I am not mistaken cc @pmlopes Otherwise I have all the ground work here master...machi1990:feat/vertx-redis-extension |
The 4.0 client has been backported to 3.9.0 so when a 3.9 release happens all new features will be available. |
@pmlopes Good to know, do we know when that would be? |
@cescoffier @vietj do you see Vert.x 3.9.x be used in a Quarkus release in the next 3-6 months? I assume yes so @machi1990 that could be a reasonable expectation |
Yes, it is a very reasonable expectation. Let's set the target on that timeline. |
Creates a vertx redis extension that provides a sync redis client, an asynchronous one based on axle and a reactive one based on mutiny. fixes quarkusio#4453
Creates a vertx redis extension that provides a synchronous redis client, and a reactive one based on mutiny. fixes quarkusio#4453
Creates a vertx redis extension that provides a synchronous redis client, and a reactive one based on mutiny. fixes quarkusio#4453
Hey @machi1990, when do you expect this to land in master? End of june, end of july, end of... Trying to assign it to a version but with flexibility to move out as needed. |
Hey @emmanuelbernard, I have opened a PR #9370 which is current under review. As for the version, we can aim for 1.6, which should be end of June (If my timing is okay). |
Creates a vertx redis extension that provides different flavours of RedisAPI. fixes quarkusio#4453
Creates a vertx redis extension that provides different flavours of RedisAPI. fixes quarkusio#4453
Creates a vertx redis extension that provides different flavours of RedisAPI. fixes quarkusio#4453
Creates a vertx redis extension that provides different flavours of RedisAPI. fixes quarkusio#4453
Creates a vertx redis extension that provides different flavours of RedisAPI. fixes quarkusio#4453
💯 👍 |
Creates a vertx redis extension that provides different flavours of RedisAPI. fixes quarkusio#4453
Creates a redis-client extension that provides different flavours of redis clients: Imperative and Reactive client. Fixes quarkusio#4453
Creates a redis-client extension that provides different flavours of redis clients: Imperative and Reactive client. Fixes quarkusio#4453
@machi1990 Thanks for your great work! One additional question is: how to config the connection pool for the redis client? |
@stevenhailin thank you!
The initial version of the extension will use the default options, we'll be adding advanced configuration options gradually. I'll open up a followup PR to allow configuring connection pool. |
@machi1990 Thanks for this extension! Can multiple redis clients be configured similar to https://quarkus.io/guides/datasource#multiple-datasources? If not, are there any plans to support this or should I create an issue? Thanks! |
Hi @xtaixe , this is not supported yet. Thanks for opening an issue for that. |
Describe the extension
Offer Redis client support via an extension
Interested in this extension, please +1 via the emoji/reaction feature of GitHub (top right).
Configuration suggestion
# Add your application.properties here, if applicable.
Additional context
(Add any other context about the proposal here.)
The text was updated successfully, but these errors were encountered: