From 35da145298e55a1deae033cd0c53128c59e06cc2 Mon Sep 17 00:00:00 2001 From: Paulo Lopes Date: Wed, 25 May 2022 11:30:12 +0200 Subject: [PATCH] Adding API wrapper for the whole redis stack Signed-off-by: Paulo Lopes --- .../io/vertx/redis/client/RedisStack.java | 3418 +++++++++++++++++ .../redis/client/impl/RedisStackImpl.java | 66 + .../vertx/redis/client/CommandGenerator.java | 1 + tools/commands.js | 10 +- tools/package.json | 2 +- tools/redis-api.hbs | 48 +- 6 files changed, 3507 insertions(+), 38 deletions(-) create mode 100644 src/main/java/io/vertx/redis/client/RedisStack.java create mode 100644 src/main/java/io/vertx/redis/client/impl/RedisStackImpl.java diff --git a/src/main/java/io/vertx/redis/client/RedisStack.java b/src/main/java/io/vertx/redis/client/RedisStack.java new file mode 100644 index 00000000..48e89e9c --- /dev/null +++ b/src/main/java/io/vertx/redis/client/RedisStack.java @@ -0,0 +1,3418 @@ +/* + * Copyright 2022 Red Hat, Inc. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and Apache License v2.0 which accompanies this distribution. + * + * The Eclipse Public License is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * The Apache License v2.0 is available at + * http://www.opensource.org/licenses/apache2.0.php + * + * You may elect to redistribute this code under either of these licenses. + */ +package io.vertx.redis.client; + +import io.vertx.codegen.annotations.GenIgnore; +import io.vertx.codegen.annotations.Nullable; +import io.vertx.codegen.annotations.VertxGen; +import io.vertx.core.Future; +import io.vertx.redis.client.impl.RedisStackImpl; + +import static io.vertx.codegen.annotations.GenIgnore.PERMITTED_TYPE; +import static io.vertx.redis.client.Request.cmd; + +/** + * Auto generated Redis Stack API client wrapper. + * @version 7.0.0 + */ +@VertxGen +public interface RedisStack { + + @GenIgnore(PERMITTED_TYPE) + static RedisStack api(Redis client) { + return new RedisStackImpl(client); + } + + @GenIgnore(PERMITTED_TYPE) + static RedisStack api(RedisConnection connection) { + return new RedisStackImpl(connection); + } + + Future close(); + + /** + * Redis command FT.ADD. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftAdd(Object... args) { + return send(cmd(Command.FT_ADD, args)); + } + + /** + * Redis command FT.AGGREGATE. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftAggregate(Object... args) { + return send(cmd(Command.FT_AGGREGATE, args)); + } + + /** + * Redis command FT.ALIASADD. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftAliasadd(Object... args) { + return send(cmd(Command.FT_ALIASADD, args)); + } + + /** + * Redis command FT.ALIASDEL. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftAliasdel(Object... args) { + return send(cmd(Command.FT_ALIASDEL, args)); + } + + /** + * Redis command FT.ALIASUPDATE. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftAliasupdate(Object... args) { + return send(cmd(Command.FT_ALIASUPDATE, args)); + } + + /** + * Redis command FT.ALTER. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftAlter(Object... args) { + return send(cmd(Command.FT_ALTER, args)); + } + + /** + * Redis command FT.CONFIG. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftConfig(Object... args) { + return send(cmd(Command.FT_CONFIG, args)); + } + + /** + * Redis command FT.CREATE. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftCreate(Object... args) { + return send(cmd(Command.FT_CREATE, args)); + } + + /** + * Redis command FT.CURSOR. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftCursor(Object... args) { + return send(cmd(Command.FT_CURSOR, args)); + } + + /** + * Redis command FT.DEBUG. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftDebug(Object... args) { + return send(cmd(Command.FT_DEBUG, args)); + } + + /** + * Redis command FT.DEL. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftDel(Object... args) { + return send(cmd(Command.FT_DEL, args)); + } + + /** + * Redis command FT.DICTADD. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftDictadd(Object... args) { + return send(cmd(Command.FT_DICTADD, args)); + } + + /** + * Redis command FT.DICTDEL. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftDictdel(Object... args) { + return send(cmd(Command.FT_DICTDEL, args)); + } + + /** + * Redis command FT.DICTDUMP. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftDictdump(Object... args) { + return send(cmd(Command.FT_DICTDUMP, args)); + } + + /** + * Redis command FT.DROP. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftDrop(Object... args) { + return send(cmd(Command.FT_DROP, args)); + } + + /** + * Redis command FT.DROPINDEX. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftDropindex(Object... args) { + return send(cmd(Command.FT_DROPINDEX, args)); + } + + /** + * Redis command FT.EXPLAIN. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftExplain(Object... args) { + return send(cmd(Command.FT_EXPLAIN, args)); + } + + /** + * Redis command FT.EXPLAINCLI. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftExplaincli(Object... args) { + return send(cmd(Command.FT_EXPLAINCLI, args)); + } + + /** + * Redis command FT.GET. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftGet(Object... args) { + return send(cmd(Command.FT_GET, args)); + } + + /** + * Redis command FT.INFO. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftInfo(Object... args) { + return send(cmd(Command.FT_INFO, args)); + } + + /** + * Redis command FT.MGET. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftMget(Object... args) { + return send(cmd(Command.FT_MGET, args)); + } + + /** + * Redis command FT.PROFILE. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftProfile(Object... args) { + return send(cmd(Command.FT_PROFILE, args)); + } + + /** + * Redis command FT.SAFEADD. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSafeadd(Object... args) { + return send(cmd(Command.FT_SAFEADD, args)); + } + + /** + * Redis command FT.SEARCH. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSearch(Object... args) { + return send(cmd(Command.FT_SEARCH, args)); + } + + /** + * Redis command FT.SPELLCHECK. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSpellcheck(Object... args) { + return send(cmd(Command.FT_SPELLCHECK, args)); + } + + /** + * Redis command FT.SUGADD. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSugadd(Object... args) { + return send(cmd(Command.FT_SUGADD, args)); + } + + /** + * Redis command FT.SUGDEL. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSugdel(Object... args) { + return send(cmd(Command.FT_SUGDEL, args)); + } + + /** + * Redis command FT.SUGGET. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSugget(Object... args) { + return send(cmd(Command.FT_SUGGET, args)); + } + + /** + * Redis command FT.SUGLEN. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSuglen(Object... args) { + return send(cmd(Command.FT_SUGLEN, args)); + } + + /** + * Redis command FT.SYNADD. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSynadd(Object... args) { + return send(cmd(Command.FT_SYNADD, args)); + } + + /** + * Redis command FT.SYNDUMP. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSyndump(Object... args) { + return send(cmd(Command.FT_SYNDUMP, args)); + } + + /** + * Redis command FT.SYNUPDATE. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftSynupdate(Object... args) { + return send(cmd(Command.FT_SYNUPDATE, args)); + } + + /** + * Redis command FT.TAGVALS. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftTagvals(Object... args) { + return send(cmd(Command.FT_TAGVALS, args)); + } + + /** + * Redis command FT._ALIASADDIFNX. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftAliasaddifnx(Object... args) { + return send(cmd(Command.FT__ALIASADDIFNX, args)); + } + + /** + * Redis command FT._ALIASDELIFX. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftAliasdelifx(Object... args) { + return send(cmd(Command.FT__ALIASDELIFX, args)); + } + + /** + * Redis command FT._ALTERIFNX. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftAlterifnx(Object... args) { + return send(cmd(Command.FT__ALTERIFNX, args)); + } + + /** + * Redis command FT._CREATEIFNX. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftCreateifnx(Object... args) { + return send(cmd(Command.FT__CREATEIFNX, args)); + } + + /** + * Redis command FT._DROPIFX. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftDropifx(Object... args) { + return send(cmd(Command.FT__DROPIFX, args)); + } + + /** + * Redis command FT._DROPINDEXIFX. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftDropindexifx(Object... args) { + return send(cmd(Command.FT__DROPINDEXIFX, args)); + } + + /** + * Redis command FT._LIST. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ftList(Object... args) { + return send(cmd(Command.FT__LIST, args)); + } + + /** + * Redis command acl. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> acl(Object... args) { + return send(cmd(Command.ACL, args)); + } + + /** + * Redis command append. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> append(Object arg0, Object arg1) { + return send(cmd(Command.APPEND, arg0, arg1)); + } + + /** + * Redis command asking. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> asking() { + return send(cmd(Command.ASKING)); + } + + /** + * Redis command auth. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> auth(Object... args) { + return send(cmd(Command.AUTH, args)); + } + + /** + * Redis command bf.add. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfAdd(Object... args) { + return send(cmd(Command.BF_ADD, args)); + } + + /** + * Redis command bf.debug. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfDebug(Object... args) { + return send(cmd(Command.BF_DEBUG, args)); + } + + /** + * Redis command bf.exists. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfExists(Object... args) { + return send(cmd(Command.BF_EXISTS, args)); + } + + /** + * Redis command bf.info. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfInfo(Object... args) { + return send(cmd(Command.BF_INFO, args)); + } + + /** + * Redis command bf.insert. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfInsert(Object... args) { + return send(cmd(Command.BF_INSERT, args)); + } + + /** + * Redis command bf.loadchunk. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfLoadchunk(Object... args) { + return send(cmd(Command.BF_LOADCHUNK, args)); + } + + /** + * Redis command bf.madd. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfMadd(Object... args) { + return send(cmd(Command.BF_MADD, args)); + } + + /** + * Redis command bf.mexists. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfMexists(Object... args) { + return send(cmd(Command.BF_MEXISTS, args)); + } + + /** + * Redis command bf.reserve. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfReserve(Object... args) { + return send(cmd(Command.BF_RESERVE, args)); + } + + /** + * Redis command bf.scandump. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bfScandump(Object... args) { + return send(cmd(Command.BF_SCANDUMP, args)); + } + + /** + * Redis command bgrewriteaof. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bgrewriteaof() { + return send(cmd(Command.BGREWRITEAOF)); + } + + /** + * Redis command bgsave. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bgsave(Object... args) { + return send(cmd(Command.BGSAVE, args)); + } + + /** + * Redis command bitcount. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bitcount(Object... args) { + return send(cmd(Command.BITCOUNT, args)); + } + + /** + * Redis command bitfield. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bitfield(Object... args) { + return send(cmd(Command.BITFIELD, args)); + } + + /** + * Redis command bitfield_ro. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bitfieldRo(Object... args) { + return send(cmd(Command.BITFIELD_RO, args)); + } + + /** + * Redis command bitop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bitop(Object... args) { + return send(cmd(Command.BITOP, args)); + } + + /** + * Redis command bitpos. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bitpos(Object... args) { + return send(cmd(Command.BITPOS, args)); + } + + /** + * Redis command blmove. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> blmove(Object arg0, Object arg1, Object arg2, Object arg3, Object arg4) { + return send(cmd(Command.BLMOVE, arg0, arg1, arg2, arg3, arg4)); + } + + /** + * Redis command blmpop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> blmpop(Object... args) { + return send(cmd(Command.BLMPOP, args)); + } + + /** + * Redis command blpop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> blpop(Object... args) { + return send(cmd(Command.BLPOP, args)); + } + + /** + * Redis command brpop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> brpop(Object... args) { + return send(cmd(Command.BRPOP, args)); + } + + /** + * Redis command brpoplpush. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> brpoplpush(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.BRPOPLPUSH, arg0, arg1, arg2)); + } + + /** + * Redis command bzmpop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bzmpop(Object... args) { + return send(cmd(Command.BZMPOP, args)); + } + + /** + * Redis command bzpopmax. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bzpopmax(Object... args) { + return send(cmd(Command.BZPOPMAX, args)); + } + + /** + * Redis command bzpopmin. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> bzpopmin(Object... args) { + return send(cmd(Command.BZPOPMIN, args)); + } + + /** + * Redis command cf.add. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfAdd(Object... args) { + return send(cmd(Command.CF_ADD, args)); + } + + /** + * Redis command cf.addnx. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfAddnx(Object... args) { + return send(cmd(Command.CF_ADDNX, args)); + } + + /** + * Redis command cf.compact. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfCompact(Object... args) { + return send(cmd(Command.CF_COMPACT, args)); + } + + /** + * Redis command cf.count. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfCount(Object... args) { + return send(cmd(Command.CF_COUNT, args)); + } + + /** + * Redis command cf.debug. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfDebug(Object... args) { + return send(cmd(Command.CF_DEBUG, args)); + } + + /** + * Redis command cf.del. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfDel(Object... args) { + return send(cmd(Command.CF_DEL, args)); + } + + /** + * Redis command cf.exists. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfExists(Object... args) { + return send(cmd(Command.CF_EXISTS, args)); + } + + /** + * Redis command cf.info. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfInfo(Object... args) { + return send(cmd(Command.CF_INFO, args)); + } + + /** + * Redis command cf.insert. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfInsert(Object... args) { + return send(cmd(Command.CF_INSERT, args)); + } + + /** + * Redis command cf.insertnx. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfInsertnx(Object... args) { + return send(cmd(Command.CF_INSERTNX, args)); + } + + /** + * Redis command cf.loadchunk. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfLoadchunk(Object... args) { + return send(cmd(Command.CF_LOADCHUNK, args)); + } + + /** + * Redis command cf.mexists. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfMexists(Object... args) { + return send(cmd(Command.CF_MEXISTS, args)); + } + + /** + * Redis command cf.reserve. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfReserve(Object... args) { + return send(cmd(Command.CF_RESERVE, args)); + } + + /** + * Redis command cf.scandump. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cfScandump(Object... args) { + return send(cmd(Command.CF_SCANDUMP, args)); + } + + /** + * Redis command client. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> client(Object... args) { + return send(cmd(Command.CLIENT, args)); + } + + /** + * Redis command cluster. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cluster(Object... args) { + return send(cmd(Command.CLUSTER, args)); + } + + /** + * Redis command cms.incrby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cmsIncrby(Object... args) { + return send(cmd(Command.CMS_INCRBY, args)); + } + + /** + * Redis command cms.info. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cmsInfo(Object... args) { + return send(cmd(Command.CMS_INFO, args)); + } + + /** + * Redis command cms.initbydim. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cmsInitbydim(Object... args) { + return send(cmd(Command.CMS_INITBYDIM, args)); + } + + /** + * Redis command cms.initbyprob. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cmsInitbyprob(Object... args) { + return send(cmd(Command.CMS_INITBYPROB, args)); + } + + /** + * Redis command cms.merge. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cmsMerge(Object... args) { + return send(cmd(Command.CMS_MERGE, args)); + } + + /** + * Redis command cms.query. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> cmsQuery(Object... args) { + return send(cmd(Command.CMS_QUERY, args)); + } + + /** + * Redis command command. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> command(Object... args) { + return send(cmd(Command.COMMAND, args)); + } + + /** + * Redis command config. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> config(Object... args) { + return send(cmd(Command.CONFIG, args)); + } + + /** + * Redis command copy. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> copy(Object... args) { + return send(cmd(Command.COPY, args)); + } + + /** + * Redis command dbsize. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> dbsize() { + return send(cmd(Command.DBSIZE)); + } + + /** + * Redis command debug. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> debug(Object... args) { + return send(cmd(Command.DEBUG, args)); + } + + /** + * Redis command decr. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> decr(Object arg0) { + return send(cmd(Command.DECR, arg0)); + } + + /** + * Redis command decrby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> decrby(Object arg0, Object arg1) { + return send(cmd(Command.DECRBY, arg0, arg1)); + } + + /** + * Redis command del. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> del(Object... args) { + return send(cmd(Command.DEL, args)); + } + + /** + * Redis command discard. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> discard() { + return send(cmd(Command.DISCARD)); + } + + /** + * Redis command dump. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> dump(Object arg0) { + return send(cmd(Command.DUMP, arg0)); + } + + /** + * Redis command echo. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> echo(Object arg0) { + return send(cmd(Command.ECHO, arg0)); + } + + /** + * Redis command eval. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> eval(Object... args) { + return send(cmd(Command.EVAL, args)); + } + + /** + * Redis command eval_ro. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> evalRo(Object... args) { + return send(cmd(Command.EVAL_RO, args)); + } + + /** + * Redis command evalsha. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> evalsha(Object... args) { + return send(cmd(Command.EVALSHA, args)); + } + + /** + * Redis command evalsha_ro. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> evalshaRo(Object... args) { + return send(cmd(Command.EVALSHA_RO, args)); + } + + /** + * Redis command exec. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> exec() { + return send(cmd(Command.EXEC)); + } + + /** + * Redis command exists. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> exists(Object... args) { + return send(cmd(Command.EXISTS, args)); + } + + /** + * Redis command expire. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> expire(Object... args) { + return send(cmd(Command.EXPIRE, args)); + } + + /** + * Redis command expireat. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> expireat(Object... args) { + return send(cmd(Command.EXPIREAT, args)); + } + + /** + * Redis command expiretime. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> expiretime(Object arg0) { + return send(cmd(Command.EXPIRETIME, arg0)); + } + + /** + * Redis command failover. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> failover(Object... args) { + return send(cmd(Command.FAILOVER, args)); + } + + /** + * Redis command fcall. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> fcall(Object... args) { + return send(cmd(Command.FCALL, args)); + } + + /** + * Redis command fcall_ro. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> fcallRo(Object... args) { + return send(cmd(Command.FCALL_RO, args)); + } + + /** + * Redis command flushall. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> flushall(Object... args) { + return send(cmd(Command.FLUSHALL, args)); + } + + /** + * Redis command flushdb. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> flushdb(Object... args) { + return send(cmd(Command.FLUSHDB, args)); + } + + /** + * Redis command function. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> function(Object... args) { + return send(cmd(Command.FUNCTION, args)); + } + + /** + * Redis command geoadd. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> geoadd(Object... args) { + return send(cmd(Command.GEOADD, args)); + } + + /** + * Redis command geodist. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> geodist(Object... args) { + return send(cmd(Command.GEODIST, args)); + } + + /** + * Redis command geohash. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> geohash(Object... args) { + return send(cmd(Command.GEOHASH, args)); + } + + /** + * Redis command geopos. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> geopos(Object... args) { + return send(cmd(Command.GEOPOS, args)); + } + + /** + * Redis command georadius. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> georadius(Object... args) { + return send(cmd(Command.GEORADIUS, args)); + } + + /** + * Redis command georadius_ro. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> georadiusRo(Object... args) { + return send(cmd(Command.GEORADIUS_RO, args)); + } + + /** + * Redis command georadiusbymember. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> georadiusbymember(Object... args) { + return send(cmd(Command.GEORADIUSBYMEMBER, args)); + } + + /** + * Redis command georadiusbymember_ro. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> georadiusbymemberRo(Object... args) { + return send(cmd(Command.GEORADIUSBYMEMBER_RO, args)); + } + + /** + * Redis command geosearch. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> geosearch(Object... args) { + return send(cmd(Command.GEOSEARCH, args)); + } + + /** + * Redis command geosearchstore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> geosearchstore(Object... args) { + return send(cmd(Command.GEOSEARCHSTORE, args)); + } + + /** + * Redis command get. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> get(Object arg0) { + return send(cmd(Command.GET, arg0)); + } + + /** + * Redis command getbit. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> getbit(Object arg0, Object arg1) { + return send(cmd(Command.GETBIT, arg0, arg1)); + } + + /** + * Redis command getdel. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> getdel(Object arg0) { + return send(cmd(Command.GETDEL, arg0)); + } + + /** + * Redis command getex. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> getex(Object... args) { + return send(cmd(Command.GETEX, args)); + } + + /** + * Redis command getrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> getrange(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.GETRANGE, arg0, arg1, arg2)); + } + + /** + * Redis command getset. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> getset(Object arg0, Object arg1) { + return send(cmd(Command.GETSET, arg0, arg1)); + } + + /** + * Redis command graph.BULK. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphBulk(Object... args) { + return send(cmd(Command.GRAPH_BULK, args)); + } + + /** + * Redis command graph.CONFIG. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphConfig(Object... args) { + return send(cmd(Command.GRAPH_CONFIG, args)); + } + + /** + * Redis command graph.DEBUG. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphDebug(Object... args) { + return send(cmd(Command.GRAPH_DEBUG, args)); + } + + /** + * Redis command graph.DELETE. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphDelete(Object... args) { + return send(cmd(Command.GRAPH_DELETE, args)); + } + + /** + * Redis command graph.EXPLAIN. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphExplain(Object... args) { + return send(cmd(Command.GRAPH_EXPLAIN, args)); + } + + /** + * Redis command graph.LIST. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphList(Object... args) { + return send(cmd(Command.GRAPH_LIST, args)); + } + + /** + * Redis command graph.PROFILE. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphProfile(Object... args) { + return send(cmd(Command.GRAPH_PROFILE, args)); + } + + /** + * Redis command graph.QUERY. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphQuery(Object... args) { + return send(cmd(Command.GRAPH_QUERY, args)); + } + + /** + * Redis command graph.RO_QUERY. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphRoQuery(Object... args) { + return send(cmd(Command.GRAPH_RO_QUERY, args)); + } + + /** + * Redis command graph.SLOWLOG. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> graphSlowlog(Object... args) { + return send(cmd(Command.GRAPH_SLOWLOG, args)); + } + + /** + * Redis command hdel. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hdel(Object... args) { + return send(cmd(Command.HDEL, args)); + } + + /** + * Redis command hello. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hello(Object... args) { + return send(cmd(Command.HELLO, args)); + } + + /** + * Redis command hexists. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hexists(Object arg0, Object arg1) { + return send(cmd(Command.HEXISTS, arg0, arg1)); + } + + /** + * Redis command hget. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hget(Object arg0, Object arg1) { + return send(cmd(Command.HGET, arg0, arg1)); + } + + /** + * Redis command hgetall. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hgetall(Object arg0) { + return send(cmd(Command.HGETALL, arg0)); + } + + /** + * Redis command hincrby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hincrby(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.HINCRBY, arg0, arg1, arg2)); + } + + /** + * Redis command hincrbyfloat. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hincrbyfloat(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.HINCRBYFLOAT, arg0, arg1, arg2)); + } + + /** + * Redis command hkeys. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hkeys(Object arg0) { + return send(cmd(Command.HKEYS, arg0)); + } + + /** + * Redis command hlen. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hlen(Object arg0) { + return send(cmd(Command.HLEN, arg0)); + } + + /** + * Redis command hmget. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hmget(Object... args) { + return send(cmd(Command.HMGET, args)); + } + + /** + * Redis command hmset. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hmset(Object... args) { + return send(cmd(Command.HMSET, args)); + } + + /** + * Redis command hrandfield. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hrandfield(Object... args) { + return send(cmd(Command.HRANDFIELD, args)); + } + + /** + * Redis command hscan. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hscan(Object... args) { + return send(cmd(Command.HSCAN, args)); + } + + /** + * Redis command hset. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hset(Object... args) { + return send(cmd(Command.HSET, args)); + } + + /** + * Redis command hsetnx. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hsetnx(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.HSETNX, arg0, arg1, arg2)); + } + + /** + * Redis command hstrlen. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hstrlen(Object arg0, Object arg1) { + return send(cmd(Command.HSTRLEN, arg0, arg1)); + } + + /** + * Redis command hvals. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> hvals(Object arg0) { + return send(cmd(Command.HVALS, arg0)); + } + + /** + * Redis command incr. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> incr(Object arg0) { + return send(cmd(Command.INCR, arg0)); + } + + /** + * Redis command incrby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> incrby(Object arg0, Object arg1) { + return send(cmd(Command.INCRBY, arg0, arg1)); + } + + /** + * Redis command incrbyfloat. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> incrbyfloat(Object arg0, Object arg1) { + return send(cmd(Command.INCRBYFLOAT, arg0, arg1)); + } + + /** + * Redis command info. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> info(Object... args) { + return send(cmd(Command.INFO, args)); + } + + /** + * Redis command json.arrappend. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonArrappend(Object... args) { + return send(cmd(Command.JSON_ARRAPPEND, args)); + } + + /** + * Redis command json.arrindex. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonArrindex(Object... args) { + return send(cmd(Command.JSON_ARRINDEX, args)); + } + + /** + * Redis command json.arrinsert. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonArrinsert(Object... args) { + return send(cmd(Command.JSON_ARRINSERT, args)); + } + + /** + * Redis command json.arrlen. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonArrlen(Object... args) { + return send(cmd(Command.JSON_ARRLEN, args)); + } + + /** + * Redis command json.arrpop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonArrpop(Object... args) { + return send(cmd(Command.JSON_ARRPOP, args)); + } + + /** + * Redis command json.arrtrim. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonArrtrim(Object... args) { + return send(cmd(Command.JSON_ARRTRIM, args)); + } + + /** + * Redis command json.clear. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonClear(Object... args) { + return send(cmd(Command.JSON_CLEAR, args)); + } + + /** + * Redis command json.debug. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonDebug(Object... args) { + return send(cmd(Command.JSON_DEBUG, args)); + } + + /** + * Redis command json.del. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonDel(Object... args) { + return send(cmd(Command.JSON_DEL, args)); + } + + /** + * Redis command json.forget. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonForget(Object... args) { + return send(cmd(Command.JSON_FORGET, args)); + } + + /** + * Redis command json.get. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonGet(Object... args) { + return send(cmd(Command.JSON_GET, args)); + } + + /** + * Redis command json.mget. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonMget(Object... args) { + return send(cmd(Command.JSON_MGET, args)); + } + + /** + * Redis command json.numincrby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonNumincrby(Object... args) { + return send(cmd(Command.JSON_NUMINCRBY, args)); + } + + /** + * Redis command json.nummultby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonNummultby(Object... args) { + return send(cmd(Command.JSON_NUMMULTBY, args)); + } + + /** + * Redis command json.numpowby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonNumpowby(Object... args) { + return send(cmd(Command.JSON_NUMPOWBY, args)); + } + + /** + * Redis command json.objkeys. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonObjkeys(Object... args) { + return send(cmd(Command.JSON_OBJKEYS, args)); + } + + /** + * Redis command json.objlen. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonObjlen(Object... args) { + return send(cmd(Command.JSON_OBJLEN, args)); + } + + /** + * Redis command json.resp. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonResp(Object... args) { + return send(cmd(Command.JSON_RESP, args)); + } + + /** + * Redis command json.set. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonSet(Object... args) { + return send(cmd(Command.JSON_SET, args)); + } + + /** + * Redis command json.strappend. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonStrappend(Object... args) { + return send(cmd(Command.JSON_STRAPPEND, args)); + } + + /** + * Redis command json.strlen. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonStrlen(Object... args) { + return send(cmd(Command.JSON_STRLEN, args)); + } + + /** + * Redis command json.toggle. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonToggle(Object... args) { + return send(cmd(Command.JSON_TOGGLE, args)); + } + + /** + * Redis command json.type. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> jsonType(Object... args) { + return send(cmd(Command.JSON_TYPE, args)); + } + + /** + * Redis command keys. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> keys(Object arg0) { + return send(cmd(Command.KEYS, arg0)); + } + + /** + * Redis command lastsave. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lastsave() { + return send(cmd(Command.LASTSAVE)); + } + + /** + * Redis command latency. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> latency(Object... args) { + return send(cmd(Command.LATENCY, args)); + } + + /** + * Redis command lcs. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lcs(Object... args) { + return send(cmd(Command.LCS, args)); + } + + /** + * Redis command lindex. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lindex(Object arg0, Object arg1) { + return send(cmd(Command.LINDEX, arg0, arg1)); + } + + /** + * Redis command linsert. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> linsert(Object arg0, Object arg1, Object arg2, Object arg3) { + return send(cmd(Command.LINSERT, arg0, arg1, arg2, arg3)); + } + + /** + * Redis command llen. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> llen(Object arg0) { + return send(cmd(Command.LLEN, arg0)); + } + + /** + * Redis command lmove. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lmove(Object arg0, Object arg1, Object arg2, Object arg3) { + return send(cmd(Command.LMOVE, arg0, arg1, arg2, arg3)); + } + + /** + * Redis command lmpop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lmpop(Object... args) { + return send(cmd(Command.LMPOP, args)); + } + + /** + * Redis command lolwut. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lolwut(Object... args) { + return send(cmd(Command.LOLWUT, args)); + } + + /** + * Redis command lpop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lpop(Object... args) { + return send(cmd(Command.LPOP, args)); + } + + /** + * Redis command lpos. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lpos(Object... args) { + return send(cmd(Command.LPOS, args)); + } + + /** + * Redis command lpush. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lpush(Object... args) { + return send(cmd(Command.LPUSH, args)); + } + + /** + * Redis command lpushx. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lpushx(Object... args) { + return send(cmd(Command.LPUSHX, args)); + } + + /** + * Redis command lrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lrange(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.LRANGE, arg0, arg1, arg2)); + } + + /** + * Redis command lrem. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lrem(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.LREM, arg0, arg1, arg2)); + } + + /** + * Redis command lset. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> lset(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.LSET, arg0, arg1, arg2)); + } + + /** + * Redis command ltrim. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ltrim(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.LTRIM, arg0, arg1, arg2)); + } + + /** + * Redis command memory. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> memory(Object... args) { + return send(cmd(Command.MEMORY, args)); + } + + /** + * Redis command mget. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> mget(Object... args) { + return send(cmd(Command.MGET, args)); + } + + /** + * Redis command migrate. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> migrate(Object... args) { + return send(cmd(Command.MIGRATE, args)); + } + + /** + * Redis command module. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> module(Object... args) { + return send(cmd(Command.MODULE, args)); + } + + /** + * Redis command monitor. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> monitor() { + return send(cmd(Command.MONITOR)); + } + + /** + * Redis command move. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> move(Object arg0, Object arg1) { + return send(cmd(Command.MOVE, arg0, arg1)); + } + + /** + * Redis command mset. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> mset(Object... args) { + return send(cmd(Command.MSET, args)); + } + + /** + * Redis command msetnx. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> msetnx(Object... args) { + return send(cmd(Command.MSETNX, args)); + } + + /** + * Redis command multi. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> multi() { + return send(cmd(Command.MULTI)); + } + + /** + * Redis command object. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> object(Object... args) { + return send(cmd(Command.OBJECT, args)); + } + + /** + * Redis command persist. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> persist(Object arg0) { + return send(cmd(Command.PERSIST, arg0)); + } + + /** + * Redis command pexpire. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pexpire(Object... args) { + return send(cmd(Command.PEXPIRE, args)); + } + + /** + * Redis command pexpireat. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pexpireat(Object... args) { + return send(cmd(Command.PEXPIREAT, args)); + } + + /** + * Redis command pexpiretime. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pexpiretime(Object arg0) { + return send(cmd(Command.PEXPIRETIME, arg0)); + } + + /** + * Redis command pfadd. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pfadd(Object... args) { + return send(cmd(Command.PFADD, args)); + } + + /** + * Redis command pfcount. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pfcount(Object... args) { + return send(cmd(Command.PFCOUNT, args)); + } + + /** + * Redis command pfdebug. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pfdebug(Object... args) { + return send(cmd(Command.PFDEBUG, args)); + } + + /** + * Redis command pfmerge. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pfmerge(Object... args) { + return send(cmd(Command.PFMERGE, args)); + } + + /** + * Redis command pfselftest. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pfselftest() { + return send(cmd(Command.PFSELFTEST)); + } + + /** + * Redis command ping. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ping(Object... args) { + return send(cmd(Command.PING, args)); + } + + /** + * Redis command psetex. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> psetex(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.PSETEX, arg0, arg1, arg2)); + } + + /** + * Redis command psubscribe. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> psubscribe(Object... args) { + return send(cmd(Command.PSUBSCRIBE, args)); + } + + /** + * Redis command psync. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> psync(Object... args) { + return send(cmd(Command.PSYNC, args)); + } + + /** + * Redis command pttl. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pttl(Object arg0) { + return send(cmd(Command.PTTL, arg0)); + } + + /** + * Redis command publish. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> publish(Object arg0, Object arg1) { + return send(cmd(Command.PUBLISH, arg0, arg1)); + } + + /** + * Redis command pubsub. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> pubsub(Object... args) { + return send(cmd(Command.PUBSUB, args)); + } + + /** + * Redis command punsubscribe. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> punsubscribe(Object... args) { + return send(cmd(Command.PUNSUBSCRIBE, args)); + } + + /** + * Redis command quit. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> quit(Object... args) { + return send(cmd(Command.QUIT, args)); + } + + /** + * Redis command randomkey. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> randomkey() { + return send(cmd(Command.RANDOMKEY)); + } + + /** + * Redis command readonly. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> readonly() { + return send(cmd(Command.READONLY)); + } + + /** + * Redis command readwrite. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> readwrite() { + return send(cmd(Command.READWRITE)); + } + + /** + * Redis command rename. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> rename(Object arg0, Object arg1) { + return send(cmd(Command.RENAME, arg0, arg1)); + } + + /** + * Redis command renamenx. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> renamenx(Object arg0, Object arg1) { + return send(cmd(Command.RENAMENX, arg0, arg1)); + } + + /** + * Redis command replconf. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> replconf(Object... args) { + return send(cmd(Command.REPLCONF, args)); + } + + /** + * Redis command replicaof. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> replicaof(Object arg0, Object arg1) { + return send(cmd(Command.REPLICAOF, arg0, arg1)); + } + + /** + * Redis command reset. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> reset() { + return send(cmd(Command.RESET)); + } + + /** + * Redis command restore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> restore(Object... args) { + return send(cmd(Command.RESTORE, args)); + } + + /** + * Redis command restore-asking. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> restoreAsking(Object... args) { + return send(cmd(Command.RESTORE_ASKING, args)); + } + + /** + * Redis command role. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> role() { + return send(cmd(Command.ROLE)); + } + + /** + * Redis command rpop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> rpop(Object... args) { + return send(cmd(Command.RPOP, args)); + } + + /** + * Redis command rpoplpush. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> rpoplpush(Object arg0, Object arg1) { + return send(cmd(Command.RPOPLPUSH, arg0, arg1)); + } + + /** + * Redis command rpush. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> rpush(Object... args) { + return send(cmd(Command.RPUSH, args)); + } + + /** + * Redis command rpushx. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> rpushx(Object... args) { + return send(cmd(Command.RPUSHX, args)); + } + + /** + * Redis command sadd. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sadd(Object... args) { + return send(cmd(Command.SADD, args)); + } + + /** + * Redis command save. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> save() { + return send(cmd(Command.SAVE)); + } + + /** + * Redis command scan. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> scan(Object... args) { + return send(cmd(Command.SCAN, args)); + } + + /** + * Redis command scard. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> scard(Object arg0) { + return send(cmd(Command.SCARD, arg0)); + } + + /** + * Redis command script. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> script(Object... args) { + return send(cmd(Command.SCRIPT, args)); + } + + /** + * Redis command sdiff. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sdiff(Object... args) { + return send(cmd(Command.SDIFF, args)); + } + + /** + * Redis command sdiffstore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sdiffstore(Object... args) { + return send(cmd(Command.SDIFFSTORE, args)); + } + + /** + * Redis command select. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> select(Object arg0) { + return send(cmd(Command.SELECT, arg0)); + } + + /** + * Redis command set. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> set(Object... args) { + return send(cmd(Command.SET, args)); + } + + /** + * Redis command setbit. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> setbit(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.SETBIT, arg0, arg1, arg2)); + } + + /** + * Redis command setex. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> setex(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.SETEX, arg0, arg1, arg2)); + } + + /** + * Redis command setnx. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> setnx(Object arg0, Object arg1) { + return send(cmd(Command.SETNX, arg0, arg1)); + } + + /** + * Redis command setrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> setrange(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.SETRANGE, arg0, arg1, arg2)); + } + + /** + * Redis command shutdown. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> shutdown(Object... args) { + return send(cmd(Command.SHUTDOWN, args)); + } + + /** + * Redis command sinter. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sinter(Object... args) { + return send(cmd(Command.SINTER, args)); + } + + /** + * Redis command sintercard. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sintercard(Object... args) { + return send(cmd(Command.SINTERCARD, args)); + } + + /** + * Redis command sinterstore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sinterstore(Object... args) { + return send(cmd(Command.SINTERSTORE, args)); + } + + /** + * Redis command sismember. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sismember(Object arg0, Object arg1) { + return send(cmd(Command.SISMEMBER, arg0, arg1)); + } + + /** + * Redis command slaveof. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> slaveof(Object arg0, Object arg1) { + return send(cmd(Command.SLAVEOF, arg0, arg1)); + } + + /** + * Redis command slowlog. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> slowlog(Object... args) { + return send(cmd(Command.SLOWLOG, args)); + } + + /** + * Redis command smembers. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> smembers(Object arg0) { + return send(cmd(Command.SMEMBERS, arg0)); + } + + /** + * Redis command smismember. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> smismember(Object... args) { + return send(cmd(Command.SMISMEMBER, args)); + } + + /** + * Redis command smove. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> smove(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.SMOVE, arg0, arg1, arg2)); + } + + /** + * Redis command sort. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sort(Object... args) { + return send(cmd(Command.SORT, args)); + } + + /** + * Redis command sort_ro. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sortRo(Object... args) { + return send(cmd(Command.SORT_RO, args)); + } + + /** + * Redis command spop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> spop(Object... args) { + return send(cmd(Command.SPOP, args)); + } + + /** + * Redis command spublish. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> spublish(Object arg0, Object arg1) { + return send(cmd(Command.SPUBLISH, arg0, arg1)); + } + + /** + * Redis command srandmember. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> srandmember(Object... args) { + return send(cmd(Command.SRANDMEMBER, args)); + } + + /** + * Redis command srem. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> srem(Object... args) { + return send(cmd(Command.SREM, args)); + } + + /** + * Redis command sscan. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sscan(Object... args) { + return send(cmd(Command.SSCAN, args)); + } + + /** + * Redis command ssubscribe. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ssubscribe(Object... args) { + return send(cmd(Command.SSUBSCRIBE, args)); + } + + /** + * Redis command strlen. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> strlen(Object arg0) { + return send(cmd(Command.STRLEN, arg0)); + } + + /** + * Redis command subscribe. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> subscribe(Object... args) { + return send(cmd(Command.SUBSCRIBE, args)); + } + + /** + * Redis command substr. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> substr(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.SUBSTR, arg0, arg1, arg2)); + } + + /** + * Redis command sunion. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sunion(Object... args) { + return send(cmd(Command.SUNION, args)); + } + + /** + * Redis command sunionstore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sunionstore(Object... args) { + return send(cmd(Command.SUNIONSTORE, args)); + } + + /** + * Redis command sunsubscribe. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sunsubscribe(Object... args) { + return send(cmd(Command.SUNSUBSCRIBE, args)); + } + + /** + * Redis command swapdb. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> swapdb(Object arg0, Object arg1) { + return send(cmd(Command.SWAPDB, arg0, arg1)); + } + + /** + * Redis command sync. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> sync() { + return send(cmd(Command.SYNC)); + } + + /** + * Redis command time. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> time() { + return send(cmd(Command.TIME)); + } + + /** + * Redis command timeseries.CLUSTERSET. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> timeseriesClusterset(Object... args) { + return send(cmd(Command.TIMESERIES_CLUSTERSET, args)); + } + + /** + * Redis command timeseries.CLUSTERSETFROMSHARD. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> timeseriesClustersetfromshard(Object... args) { + return send(cmd(Command.TIMESERIES_CLUSTERSETFROMSHARD, args)); + } + + /** + * Redis command timeseries.HELLO. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> timeseriesHello(Object... args) { + return send(cmd(Command.TIMESERIES_HELLO, args)); + } + + /** + * Redis command timeseries.INFOCLUSTER. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> timeseriesInfocluster(Object... args) { + return send(cmd(Command.TIMESERIES_INFOCLUSTER, args)); + } + + /** + * Redis command timeseries.INNERCOMMUNICATION. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> timeseriesInnercommunication(Object... args) { + return send(cmd(Command.TIMESERIES_INNERCOMMUNICATION, args)); + } + + /** + * Redis command timeseries.NETWORKTEST. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> timeseriesNetworktest(Object... args) { + return send(cmd(Command.TIMESERIES_NETWORKTEST, args)); + } + + /** + * Redis command timeseries.REFRESHCLUSTER. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> timeseriesRefreshcluster(Object... args) { + return send(cmd(Command.TIMESERIES_REFRESHCLUSTER, args)); + } + + /** + * Redis command topk.add. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> topkAdd(Object... args) { + return send(cmd(Command.TOPK_ADD, args)); + } + + /** + * Redis command topk.count. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> topkCount(Object... args) { + return send(cmd(Command.TOPK_COUNT, args)); + } + + /** + * Redis command topk.incrby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> topkIncrby(Object... args) { + return send(cmd(Command.TOPK_INCRBY, args)); + } + + /** + * Redis command topk.info. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> topkInfo(Object... args) { + return send(cmd(Command.TOPK_INFO, args)); + } + + /** + * Redis command topk.list. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> topkList(Object... args) { + return send(cmd(Command.TOPK_LIST, args)); + } + + /** + * Redis command topk.query. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> topkQuery(Object... args) { + return send(cmd(Command.TOPK_QUERY, args)); + } + + /** + * Redis command topk.reserve. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> topkReserve(Object... args) { + return send(cmd(Command.TOPK_RESERVE, args)); + } + + /** + * Redis command touch. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> touch(Object... args) { + return send(cmd(Command.TOUCH, args)); + } + + /** + * Redis command ts.add. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsAdd(Object... args) { + return send(cmd(Command.TS_ADD, args)); + } + + /** + * Redis command ts.alter. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsAlter(Object... args) { + return send(cmd(Command.TS_ALTER, args)); + } + + /** + * Redis command ts.create. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsCreate(Object... args) { + return send(cmd(Command.TS_CREATE, args)); + } + + /** + * Redis command ts.createrule. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsCreaterule(Object... args) { + return send(cmd(Command.TS_CREATERULE, args)); + } + + /** + * Redis command ts.decrby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsDecrby(Object... args) { + return send(cmd(Command.TS_DECRBY, args)); + } + + /** + * Redis command ts.del. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsDel(Object... args) { + return send(cmd(Command.TS_DEL, args)); + } + + /** + * Redis command ts.deleterule. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsDeleterule(Object... args) { + return send(cmd(Command.TS_DELETERULE, args)); + } + + /** + * Redis command ts.get. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsGet(Object... args) { + return send(cmd(Command.TS_GET, args)); + } + + /** + * Redis command ts.incrby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsIncrby(Object... args) { + return send(cmd(Command.TS_INCRBY, args)); + } + + /** + * Redis command ts.info. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsInfo(Object... args) { + return send(cmd(Command.TS_INFO, args)); + } + + /** + * Redis command ts.madd. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsMadd(Object... args) { + return send(cmd(Command.TS_MADD, args)); + } + + /** + * Redis command ts.mget. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsMget(Object... args) { + return send(cmd(Command.TS_MGET, args)); + } + + /** + * Redis command ts.mrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsMrange(Object... args) { + return send(cmd(Command.TS_MRANGE, args)); + } + + /** + * Redis command ts.mrevrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsMrevrange(Object... args) { + return send(cmd(Command.TS_MREVRANGE, args)); + } + + /** + * Redis command ts.queryindex. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsQueryindex(Object... args) { + return send(cmd(Command.TS_QUERYINDEX, args)); + } + + /** + * Redis command ts.range. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsRange(Object... args) { + return send(cmd(Command.TS_RANGE, args)); + } + + /** + * Redis command ts.revrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> tsRevrange(Object... args) { + return send(cmd(Command.TS_REVRANGE, args)); + } + + /** + * Redis command ttl. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> ttl(Object arg0) { + return send(cmd(Command.TTL, arg0)); + } + + /** + * Redis command type. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> type(Object arg0) { + return send(cmd(Command.TYPE, arg0)); + } + + /** + * Redis command unlink. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> unlink(Object... args) { + return send(cmd(Command.UNLINK, args)); + } + + /** + * Redis command unsubscribe. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> unsubscribe(Object... args) { + return send(cmd(Command.UNSUBSCRIBE, args)); + } + + /** + * Redis command unwatch. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> unwatch() { + return send(cmd(Command.UNWATCH)); + } + + /** + * Redis command wait. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> wait(Object arg0, Object arg1) { + return send(cmd(Command.WAIT, arg0, arg1)); + } + + /** + * Redis command watch. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> watch(Object... args) { + return send(cmd(Command.WATCH, args)); + } + + /** + * Redis command xack. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xack(Object... args) { + return send(cmd(Command.XACK, args)); + } + + /** + * Redis command xadd. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xadd(Object... args) { + return send(cmd(Command.XADD, args)); + } + + /** + * Redis command xautoclaim. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xautoclaim(Object... args) { + return send(cmd(Command.XAUTOCLAIM, args)); + } + + /** + * Redis command xclaim. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xclaim(Object... args) { + return send(cmd(Command.XCLAIM, args)); + } + + /** + * Redis command xdel. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xdel(Object... args) { + return send(cmd(Command.XDEL, args)); + } + + /** + * Redis command xgroup. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xgroup(Object... args) { + return send(cmd(Command.XGROUP, args)); + } + + /** + * Redis command xinfo. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xinfo(Object... args) { + return send(cmd(Command.XINFO, args)); + } + + /** + * Redis command xlen. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xlen(Object arg0) { + return send(cmd(Command.XLEN, arg0)); + } + + /** + * Redis command xpending. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xpending(Object... args) { + return send(cmd(Command.XPENDING, args)); + } + + /** + * Redis command xrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xrange(Object... args) { + return send(cmd(Command.XRANGE, args)); + } + + /** + * Redis command xread. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xread(Object... args) { + return send(cmd(Command.XREAD, args)); + } + + /** + * Redis command xreadgroup. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xreadgroup(Object... args) { + return send(cmd(Command.XREADGROUP, args)); + } + + /** + * Redis command xrevrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xrevrange(Object... args) { + return send(cmd(Command.XREVRANGE, args)); + } + + /** + * Redis command xsetid. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xsetid(Object... args) { + return send(cmd(Command.XSETID, args)); + } + + /** + * Redis command xtrim. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> xtrim(Object... args) { + return send(cmd(Command.XTRIM, args)); + } + + /** + * Redis command zadd. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zadd(Object... args) { + return send(cmd(Command.ZADD, args)); + } + + /** + * Redis command zcard. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zcard(Object arg0) { + return send(cmd(Command.ZCARD, arg0)); + } + + /** + * Redis command zcount. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zcount(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.ZCOUNT, arg0, arg1, arg2)); + } + + /** + * Redis command zdiff. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zdiff(Object... args) { + return send(cmd(Command.ZDIFF, args)); + } + + /** + * Redis command zdiffstore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zdiffstore(Object... args) { + return send(cmd(Command.ZDIFFSTORE, args)); + } + + /** + * Redis command zincrby. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zincrby(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.ZINCRBY, arg0, arg1, arg2)); + } + + /** + * Redis command zinter. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zinter(Object... args) { + return send(cmd(Command.ZINTER, args)); + } + + /** + * Redis command zintercard. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zintercard(Object... args) { + return send(cmd(Command.ZINTERCARD, args)); + } + + /** + * Redis command zinterstore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zinterstore(Object... args) { + return send(cmd(Command.ZINTERSTORE, args)); + } + + /** + * Redis command zlexcount. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zlexcount(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.ZLEXCOUNT, arg0, arg1, arg2)); + } + + /** + * Redis command zmpop. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zmpop(Object... args) { + return send(cmd(Command.ZMPOP, args)); + } + + /** + * Redis command zmscore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zmscore(Object... args) { + return send(cmd(Command.ZMSCORE, args)); + } + + /** + * Redis command zpopmax. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zpopmax(Object... args) { + return send(cmd(Command.ZPOPMAX, args)); + } + + /** + * Redis command zpopmin. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zpopmin(Object... args) { + return send(cmd(Command.ZPOPMIN, args)); + } + + /** + * Redis command zrandmember. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrandmember(Object... args) { + return send(cmd(Command.ZRANDMEMBER, args)); + } + + /** + * Redis command zrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrange(Object... args) { + return send(cmd(Command.ZRANGE, args)); + } + + /** + * Redis command zrangebylex. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrangebylex(Object... args) { + return send(cmd(Command.ZRANGEBYLEX, args)); + } + + /** + * Redis command zrangebyscore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrangebyscore(Object... args) { + return send(cmd(Command.ZRANGEBYSCORE, args)); + } + + /** + * Redis command zrangestore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrangestore(Object... args) { + return send(cmd(Command.ZRANGESTORE, args)); + } + + /** + * Redis command zrank. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrank(Object arg0, Object arg1) { + return send(cmd(Command.ZRANK, arg0, arg1)); + } + + /** + * Redis command zrem. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrem(Object... args) { + return send(cmd(Command.ZREM, args)); + } + + /** + * Redis command zremrangebylex. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zremrangebylex(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.ZREMRANGEBYLEX, arg0, arg1, arg2)); + } + + /** + * Redis command zremrangebyrank. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zremrangebyrank(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.ZREMRANGEBYRANK, arg0, arg1, arg2)); + } + + /** + * Redis command zremrangebyscore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zremrangebyscore(Object arg0, Object arg1, Object arg2) { + return send(cmd(Command.ZREMRANGEBYSCORE, arg0, arg1, arg2)); + } + + /** + * Redis command zrevrange. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrevrange(Object... args) { + return send(cmd(Command.ZREVRANGE, args)); + } + + /** + * Redis command zrevrangebylex. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrevrangebylex(Object... args) { + return send(cmd(Command.ZREVRANGEBYLEX, args)); + } + + /** + * Redis command zrevrangebyscore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrevrangebyscore(Object... args) { + return send(cmd(Command.ZREVRANGEBYSCORE, args)); + } + + /** + * Redis command zrevrank. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zrevrank(Object arg0, Object arg1) { + return send(cmd(Command.ZREVRANK, arg0, arg1)); + } + + /** + * Redis command zscan. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zscan(Object... args) { + return send(cmd(Command.ZSCAN, args)); + } + + /** + * Redis command zscore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zscore(Object arg0, Object arg1) { + return send(cmd(Command.ZSCORE, arg0, arg1)); + } + + /** + * Redis command zunion. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zunion(Object... args) { + return send(cmd(Command.ZUNION, args)); + } + + /** + * Redis command zunionstore. + * @return Future asynchronous result with {@link Response} or {@code null}. + */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) + default Future<@Nullable Response> zunionstore(Object... args) { + return send(cmd(Command.ZUNIONSTORE, args)); + } + + /** + * @param req the request to fulfill + * @return Future response. + */ + @GenIgnore + Future<@Nullable Response> send(Request req); +} diff --git a/src/main/java/io/vertx/redis/client/impl/RedisStackImpl.java b/src/main/java/io/vertx/redis/client/impl/RedisStackImpl.java new file mode 100644 index 00000000..7cf393b2 --- /dev/null +++ b/src/main/java/io/vertx/redis/client/impl/RedisStackImpl.java @@ -0,0 +1,66 @@ +/* + * Copyright 2019 Red Hat, Inc. + *

+ * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and Apache License v2.0 which accompanies this distribution. + *

+ * The Eclipse Public License is available at + * http://www.eclipse.org/legal/epl-v10.html + *

+ * The Apache License v2.0 is available at + * http://www.opensource.org/licenses/apache2.0.php + *

+ * You may elect to redistribute this code under either of these licenses. + */ +package io.vertx.redis.client.impl; + +import io.vertx.core.Future; +import io.vertx.redis.client.*; + +public class RedisStackImpl implements RedisStack { + + private final Redis redis; + private final RedisConnection connection; + + public RedisStackImpl(RedisConnection connection) { + this.connection = connection; + this.redis = null; + } + + public RedisStackImpl(Redis redis) { + this.connection = null; + this.redis = redis; + } + + @Override + public Future send(Request req) { + if (redis != null) { + // operating in pooled mode + return redis.send(req); + } else if (connection != null) { + // operating on connection mode + return connection.send(req); + } + + return Future.failedFuture("Invalid state: no pool or connection available"); + } + + @Override + public Future close() { + if (redis != null) { + // operating in pooled mode + try { + redis.close(); + return Future.succeededFuture(); + } catch (RuntimeException e) { + return Future.failedFuture(e); + } + } else if (connection != null) { + // operating on connection mode + return connection.close(); + } + + return Future.failedFuture("Invalid state: no pool or connection available"); + } +} diff --git a/src/test/java/io/vertx/redis/client/CommandGenerator.java b/src/test/java/io/vertx/redis/client/CommandGenerator.java index d5b864af..a73b8010 100644 --- a/src/test/java/io/vertx/redis/client/CommandGenerator.java +++ b/src/test/java/io/vertx/redis/client/CommandGenerator.java @@ -10,6 +10,7 @@ public class CommandGenerator extends AbstractVerticle { + // redis/redis-stack:7.0.0-RC4 public static void main(String[] args) { Vertx.vertx().deployVerticle(new CommandGenerator()); } diff --git a/tools/commands.js b/tools/commands.js index 70a7db2b..52eb87cf 100644 --- a/tools/commands.js +++ b/tools/commands.js @@ -18,7 +18,7 @@ redis.info((err, info) => { .split("\r\n") .forEach(el => { if (el.startsWith('redis_version')) { - version = el; + version = el.substring(14); } }); @@ -46,7 +46,7 @@ redis.info((err, info) => { args += ', '; types += ', '; } - types += ("String arg" + i); + types += ("Object arg" + i); args += ("arg" + i); } // arg len includes the command name @@ -57,13 +57,13 @@ redis.info((err, info) => { } if (cmd[1] < 0) { - types = "List args"; + types = "Object... args"; args = "args"; argLen = Math.abs(cmd[1]); } commands.push({ - enum: cmd[0].replace('-', '_').replace(':', '').toUpperCase(), + enum: cmd[0].replace('-', '_').replace(':', '').replace('.', '_').toUpperCase(), name: cmd[0], safename: cmd[0].replace('-', ' ').replace(':', '').toUpperCase(), arity: cmd[1], @@ -88,7 +88,7 @@ redis.info((err, info) => { var api_template = Handlebars.compile(fs.readFileSync('redis-api.hbs', 'utf8')); fs.writeFileSync( - '../src/main/java/io/vertx/redis/client/RedisAPI.java', + '../src/main/java/io/vertx/redis/client/RedisStack.java', api_template(commands)); process.exit(0); diff --git a/tools/package.json b/tools/package.json index 50925b8e..5535ceca 100644 --- a/tools/package.json +++ b/tools/package.json @@ -8,7 +8,7 @@ "redis": "^2.8.0" }, "scripts": { - "--prestart": "docker run --rm --net=host redis:latest", + "--prestart": "docker run --rm --net=host redis/redis-stack:7.0.0-RC4", "start": "node commands.js" } } diff --git a/tools/redis-api.hbs b/tools/redis-api.hbs index 37ce3cb9..c41b852b 100644 --- a/tools/redis-api.hbs +++ b/tools/redis-api.hbs @@ -1,5 +1,5 @@ /* - * Copyright 2018 Red Hat, Inc. + * Copyright 2022 Red Hat, Inc. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -15,65 +15,49 @@ */ package io.vertx.redis.client; -import io.vertx.codegen.annotations.Fluent; import io.vertx.codegen.annotations.GenIgnore; import io.vertx.codegen.annotations.Nullable; import io.vertx.codegen.annotations.VertxGen; -import io.vertx.core.AsyncResult; import io.vertx.core.Future; -import io.vertx.core.Handler; -import io.vertx.redis.client.impl.RedisAPIImpl; - -import java.util.List; +import io.vertx.redis.client.impl.RedisStackImpl; import static io.vertx.codegen.annotations.GenIgnore.PERMITTED_TYPE; +import static io.vertx.redis.client.Request.cmd; /** - * Auto generated Redis API client wrapper. + * Auto generated Redis Stack API client wrapper. * @version {{ version }} */ @VertxGen -public interface RedisAPI { +public interface RedisStack { @GenIgnore(PERMITTED_TYPE) - static RedisAPI api(Redis client) { - return new RedisAPIImpl(client); + static RedisStack api(Redis client) { + return new RedisStackImpl(client); } @GenIgnore(PERMITTED_TYPE) - static RedisAPI api(RedisConnection connection) { - return new RedisAPIImpl(connection); + static RedisStack api(RedisConnection connection) { + return new RedisStackImpl(connection); } - void close(); - + Future close(); {{#each .}} - /** - * Redis command {{ camelcase safename }}. - * @return fluent self - */ - @Fluent - default RedisAPI {{ camelcase safename }}({{{ types }}}{{#if argLen}}, {{/if}}Handler> handler) { - send(Command.{{ enum }}{{#if argLen}}, {{{ args }}}{{#if variable}}.toArray(new String[0]){{/if}}{{/if}}).onComplete(handler); - return this; - } /** - * Redis command {{ camelcase safename }}. - * @return Future response. + * Redis command {{ name }}. + * @return Future asynchronous result with {@link Response} or {@code null}. */ + @GenIgnore(GenIgnore.PERMITTED_TYPE) default Future<@Nullable Response> {{ camelcase safename }}({{{ types }}}) { - return send(Command.{{ enum }}{{#if argLen}}, {{{ args }}}{{#if variable}}.toArray(new String[0]){{/if}}{{/if}}); + return send(cmd(Command.{{ enum }}{{#if argLen}}, {{{ args }}}{{#if variable}}{{/if}}{{/if}})); } {{/each}} /** - * Send untyped command to redis. - * - * @param cmd the command - * @param args var args + * @param req the request to fulfill * @return Future response. */ @GenIgnore - Future<@Nullable Response> send(Command cmd, String... args); + Future<@Nullable Response> send(Request req); }