diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index 04c8945993..b598d79d07 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -34,7 +34,7 @@ public class Jedis implements ServerCommands, DatabaseCommands, JedisCommands, JedisBinaryCommands, ControlCommands, ControlBinaryCommands, ClusterCommands, ModuleCommands, GenericControlCommands, - SentinelCommands, Closeable { + SentinelCommands, CommandCommands, Closeable { protected final Connection connection; private final CommandObjects commandObjects = new CommandObjects(); @@ -8223,48 +8223,56 @@ public long bitop(final BitOP op, final String destKey, final String... srcKeys) return connection.executeCommand(commandObjects.bitop(op, destKey, srcKeys)); } + @Override public long commandCount() { checkIsInMultiOrPipeline(); connection.sendCommand(COMMAND, COUNT); return connection.getIntegerReply(); } + @Override public Map commandDocs(String... commands) { checkIsInMultiOrPipeline(); connection.sendCommand(COMMAND, joinParameters(DOCS.name(), commands)); return BuilderFactory.COMMAND_DOCS_RESPONSE.build(connection.getOne()); } + @Override public List commandGetKeys(String... command) { checkIsInMultiOrPipeline(); connection.sendCommand(COMMAND, joinParameters(GETKEYS.name(), command)); return BuilderFactory.STRING_LIST.build(connection.getOne()); } + @Override public List>> commandGetKeysAndFlags(String... command) { checkIsInMultiOrPipeline(); connection.sendCommand(COMMAND, joinParameters(GETKEYSANDFLAGS.name(), command)); return BuilderFactory.KEYED_STRING_LIST_LIST.build(connection.getOne()); } + @Override public Map commandInfo(String... commands) { checkIsInMultiOrPipeline(); connection.sendCommand(COMMAND, joinParameters(Keyword.INFO.name(), commands)); return CommandInfo.COMMAND_INFO_RESPONSE.build(connection.getOne()); } + @Override public Map command() { checkIsInMultiOrPipeline(); connection.sendCommand(COMMAND); return CommandInfo.COMMAND_INFO_RESPONSE.build(connection.getOne()); } + @Override public List commandList() { checkIsInMultiOrPipeline(); connection.sendCommand(COMMAND, LIST); return BuilderFactory.STRING_LIST.build(connection.getOne()); } + @Override public List commandListFilterBy(CommandListFilterByParams filterByParams) { checkIsInMultiOrPipeline(); CommandArguments args = new CommandArguments(COMMAND).add(LIST).addParams(filterByParams); diff --git a/src/main/java/redis/clients/jedis/commands/CommandCommands.java b/src/main/java/redis/clients/jedis/commands/CommandCommands.java index 8b09eff80d..d3509697ab 100644 --- a/src/main/java/redis/clients/jedis/commands/CommandCommands.java +++ b/src/main/java/redis/clients/jedis/commands/CommandCommands.java @@ -46,6 +46,12 @@ public interface CommandCommands { */ Map commandInfo(String... commands); + /** + * Return an array with details about every Redis command. + * @return list of {@link CommandInfo} + */ + Map command(); + /** * Return a list of the server's command names * @return commands list