io.vertx.redis.RedisClient.get()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(6.9k)|赞(0)|评价(0)|浏览(316)

本文整理了Java中io.vertx.redis.RedisClient.get方法的一些代码示例,展示了RedisClient.get的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RedisClient.get方法的具体详情如下:
包路径:io.vertx.redis.RedisClient
类名称:RedisClient
方法名:get

RedisClient.get介绍

[英]Get the value of a key
[中]获取密钥的值

代码示例

代码示例来源:origin: vert-x3/vertx-examples

@Override
 public void start() throws Exception {
  // 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
  final RedisClient client = RedisClient.create(vertx,
    new RedisOptions().setHost(host));

  client.set("key", "value", r -> {
   if (r.succeeded()) {
    System.out.println("key stored");
    client.get("key", s -> {
     System.out.println("Retrieved value: " + s.result());
    });
   } else {
    System.out.println("Connection or Operation Failed " + r.cause());
   }
  });
 }
}

代码示例来源:origin: org.swisspush.gateleen/gateleen-scheduler

public void start() {
  log.info("Starting scheduler [ " + cronExpression.getCronExpression() + " ]");
  timer = vertx.setPeriodic(5000, timer -> redisClient.get("schedulers:" + name, reply -> {
    final String stringValue = reply.result();
    /*
      To guarantee that a scheduler is always triggered after the same interval,
      we have to subtract the randomOffset from the current time. This way we don’t
      change the behavior of the scheduler, because we simply “adjust” the current time.
     */
    if (stringValue == null || Long.parseLong(stringValue) <= (System.currentTimeMillis() - randomOffset)) {
      // Either first use of the scheduler or run time reached.
      // We need to set the next run time
      final long nextRunTime = nextRunTime();
      if (log.isTraceEnabled()) {
        log.trace("Setting next run time to " + SimpleDateFormat.getDateTimeInstance().format(new Date(nextRunTime)));
      }
      redisClient.getset("schedulers:" + name, "" + nextRunTime, event -> {
        String previousValue = event.result();
        if (stringValue != null && stringValue.equals(previousValue)) {
          // a run time was set and we were the first instance to update it
          trigger();
        }
      });
    }
  }));
  if ((!executed && executeOnStartup) || executeOnReload) {
    executed = true;
    trigger();
  }
}

代码示例来源:origin: vert-x3/vertx-rx

/**
 * Get the value of a key
 * @param key Key string
 * @param handler Handler for the result of this call.
 * @return 
 */
public io.vertx.rxjava.redis.RedisClient get(String key, Handler<AsyncResult<String>> handler) { 
 delegate.get(key, handler);
 return this;
}

代码示例来源:origin: io.vertx/vertx-rx-java

/**
 * Get the value of a key
 * @param key Key string
 * @param handler Handler for the result of this call.
 * @return 
 */
public io.vertx.rxjava.redis.RedisClient get(String key, Handler<AsyncResult<String>> handler) { 
 delegate.get(key, handler);
 return this;
}

代码示例来源:origin: sczyh30/vertx-kue

@Override
 public JobService getWorkTime(Handler<AsyncResult<Long>> handler) {
  client.get(RedisHelper.getKey("stats:work-time"), r -> {
   if (r.succeeded()) {
    handler.handle(Future.succeededFuture(Long.parseLong(r.result() == null ? "0" : r.result())));
   } else {
    handler.handle(Future.failedFuture(r.cause()));
   }
  });
  return this;
 }
}

代码示例来源:origin: org.swisspush/gateleen-queue

private static void handleStorage(RedisClient redisClient, final String redisKey, int ttl, final Handler<Boolean> callback) {
  // read from storage
  redisClient.get(redisKey, reply -> {
    if(reply.failed()){
      log.error("get command for redisKey '" + redisKey + "' resulted in cause " + logCause(reply));
      return;
    }
    if (!DEFAULT_REDIS_ENTRY_VALUE.equals(reply.result())) {
      // save to storage
      redisClient.setnx(redisKey, DEFAULT_REDIS_ENTRY_VALUE, setnxReply -> {
        if(setnxReply.failed()){
          log.error("set command for redisKey '" + redisKey + "' resulted in cause " + logCause(setnxReply));
          return;
        }
        // set expire
        redisClient.expire(redisKey, ttl, expireReply -> {
          if(expireReply.failed()){
            log.error("expire command for redisKey '" + redisKey + "' resulted in cause " + logCause(expireReply));
          }
        });
      });
      callback.handle(Boolean.FALSE);
    } else {
      log.info("received a duplicate request for redisKey: " + redisKey);
      callback.handle(Boolean.TRUE);
    }
  });
}

代码示例来源:origin: org.swisspush.gateleen/gateleen-queue

private static void handleStorage(RedisClient redisClient, final String redisKey, int ttl, final Handler<Boolean> callback) {
  // read from storage
  redisClient.get(redisKey, reply -> {
    if(reply.failed()){
      log.error("get command for redisKey '" + redisKey + "' resulted in cause " + logCause(reply));
      return;
    }
    if (!DEFAULT_REDIS_ENTRY_VALUE.equals(reply.result())) {
      // save to storage
      redisClient.setnx(redisKey, DEFAULT_REDIS_ENTRY_VALUE, setnxReply -> {
        if(setnxReply.failed()){
          log.error("set command for redisKey '" + redisKey + "' resulted in cause " + logCause(setnxReply));
          return;
        }
        // set expire
        redisClient.expire(redisKey, ttl, expireReply -> {
          if(expireReply.failed()){
            log.error("expire command for redisKey '" + redisKey + "' resulted in cause " + logCause(expireReply));
          }
        });
      });
      callback.handle(Boolean.FALSE);
    } else {
      log.info("received a duplicate request for redisKey: " + redisKey);
      callback.handle(Boolean.TRUE);
    }
  });
}

代码示例来源:origin: sczyh30/vertx-blueprint-microservice

@Override
public Future<Integer> retrieveInventoryForProduct(String productId) {
 Future<String> future = Future.future();
 client.get(PREFIX + productId, future.completer());
 return future.map(r -> r == null ? "0" : r)
  .map(Integer::valueOf);
}

代码示例来源:origin: org.swisspush/redisques

log.trace("RedisQues unregister consumers get: " + consumerKey);
redisClient.get(consumerKey, event1 -> {
  if (event1.failed()) {
    log.warn("Failed to retrieve consumer '{}'.", consumerKey, event1.cause());

代码示例来源:origin: org.swisspush/redisques

log.trace("RedisQues consume get: " + key);
redisClient.get(key, event1 -> {
  if (event1.failed()) {
    log.error("Unable to get consumer for queue " + queue, event1.cause());

代码示例来源:origin: org.swisspush/redisques

private void notifyConsumer(final String queue) {
  log.debug("RedisQues Notifying consumer of queue " + queue);
  final EventBus eb = vertx.eventBus();
  // Find the consumer to notify
  String key = getConsumersPrefix() + queue;
  if (log.isTraceEnabled()) {
    log.trace("RedisQues notify consumer get: " + key);
  }
  redisClient.get(key, event -> {
    if (event.failed()) {
      log.warn("Failed to get consumer for queue '{}'", queue, event.cause());
      // We should return here. See: "https://softwareengineering.stackexchange.com/a/190535"
    }
    String consumer = event.result();
    if (log.isTraceEnabled()) {
      log.trace("RedisQues got consumer: " + consumer);
    }
    if (consumer == null) {
      // No consumer for this queue, let's make a peer become
      // consumer
      log.debug("RedisQues Sending registration request for queue " + queue);
      eb.send(address + "-consumers", queue);
    } else {
      // Notify the registered consumer
      log.debug("RedisQues Notifying consumer " + consumer + " to consume queue " + queue);
      eb.send(consumer, queue);
    }
  });
}

代码示例来源:origin: org.swisspush/redisques

log.trace("RedisQues refresh queues get: " + consumerKey);
redisClient.get(consumerKey, getConsumerEvent -> {
  if (getConsumerEvent.failed()) {
    log.warn("Failed to get queue consumer for queue '{}'. But we'll continue anyway :)", queue, getConsumerEvent.cause());

相关文章

微信公众号

最新文章

更多

RedisClient类方法