Vert.x 使用Redis

本文介绍如何使用Vert.x连接Redis并实现基本的数据读取操作。包括Redis服务端配置及通过Vert.x客户端调用Redis的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
  }
}
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值