Redis
首先安装Redis,网上有很多教程,不多说了,说一下Redis的配置文件,让其可以在外网访问 redis.conf
# 设置密码
requirepass xxxx
# 把下面这一行注释掉
bind 127.0.0.1
# 由 yes 改为 no
protected-mode no
复制代码
重启 redis
./redis-server redis.conf
复制代码
Vert.x
pom文件中添加Vert.x Redis依赖
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-redis-client</artifactId>
<version>3.4.1</version>
</dependency>
复制代码
Demo.java
public class Demo extends AbstractVerticle {
private static final Logger logger = LogManager.getLogger(Demo.class);
private RedisClient redisClient;
@Override
public void start() throws Exception {
RedisOptions config = new RedisOptions().setHost("xxx.xxx.xxx").setPort(6379).setAuth("password");
redisClient = RedisClient.create(vertx, config);
Router router = Router.router(vertx);
router.route().handler(BodyHandler.create());
router.get("/red").handler(this::queryRedis);
vertx.createHttpServer().requestHandler(router::accept).listen(8081, r -> {
if (r.succeeded()) {
logger.info("服务启动成功,端口 8081");
} else {
logger.error("服务启动失败,error :" + r.cause().getMessage());
}
});
}
private void queryRedis(RoutingContext routingContext) {
redisClient.get("sweet", res -> {
if (res.succeeded()) {
routingContext.response().end(Json.encodePrettily(res.result()));
}else {
logger.error(res.cause().getMessage());
res.cause().printStackTrace();
routingContext.response().setStatusCode(500).end();
}
});
}
public static void main(String[] args) {
Runner.runExample(Demo.class);
}
}
复制代码