forked from vert-x3/vertx-examples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRedisClientVerticle.java
43 lines (37 loc) · 1.18 KB
/
RedisClientVerticle.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package io.vertx.examples.redis;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Vertx;
import io.vertx.redis.client.Redis;
import io.vertx.redis.client.RedisAPI;
import io.vertx.redis.client.RedisOptions;
import java.util.Arrays;
/**
* A verticle setting and reading a value in Redis.
*/
public class RedisClientVerticle extends AbstractVerticle {
@Override
public void start() {
// If a config file is set, read the host and port.
String host = Vertx.currentContext().config().getString("host");
if (host == null) {
host = "127.0.0.1";
}
// Create the redis client
Redis client = Redis.createClient(vertx, new RedisOptions().addConnectionString(host));
RedisAPI redis = RedisAPI.api(client);
client.connect()
.compose(conn -> {
return redis.set(Arrays.asList("key", "value"))
.compose(v -> {
System.out.println("key stored");
return redis.get("key");
});
}).onComplete(ar -> {
if (ar.succeeded()) {
System.out.println("Retrieved value: " + ar.result());
} else {
System.out.println("Connection or Operation Failed " + ar.cause());
}
});
}
}