package com.lambdaworks.redis.api.async; import java.util.Date; import java.util.List; import com.lambdaworks.redis.KillArgs; import com.lambdaworks.redis.protocol.CommandType; import com.lambdaworks.redis.RedisFuture; /** * Asynchronous executed commands for Server Control. * * @param <K> Key type. * @param <V> Value type. * @author Mark Paluch * @since 4.0 * @generated by com.lambdaworks.apigenerator.CreateAsyncApi */ public interface RedisServerAsyncCommands<K, V> { /** * Asynchronously rewrite the append-only file. * * @return String simple-string-reply always {@code OK}. */ RedisFuture<String> bgrewriteaof(); /** * Asynchronously save the dataset to disk. * * @return String simple-string-reply */ RedisFuture<String> bgsave(); /** * Get the current connection name. * * @return K bulk-string-reply The connection name, or a null bulk reply if no name is set. */ RedisFuture<K> clientGetname(); /** * Set the current connection name. * * @param name the client name * @return simple-string-reply {@code OK} if the connection name was successfully set. */ RedisFuture<String> clientSetname(K name); /** * Kill the connection of a client identified by ip:port. * * @param addr ip:port * @return String simple-string-reply {@code OK} if the connection exists and has been closed */ RedisFuture<String> clientKill(String addr); /** * Kill connections of clients which are filtered by {@code killArgs} * * @param killArgs args for the kill operation * @return Long integer-reply number of killed connections */ RedisFuture<Long> clientKill(KillArgs killArgs); /** * Stop processing commands from clients for some time. * * @param timeout the timeout value in milliseconds * @return String simple-string-reply The command returns OK or an error if the timeout is invalid. */ RedisFuture<String> clientPause(long timeout); /** * Get the list of client connections. * * @return String bulk-string-reply a unique string, formatted as follows: One client connection per line (separated by LF), * each line is composed of a succession of property=value fields separated by a space character. */ RedisFuture<String> clientList(); /** * Returns an array reply of details about all Redis commands. * * @return List<Object> array-reply */ RedisFuture<List<Object>> command(); /** * Returns an array reply of details about the requested commands. * * @param commands the commands to query for * @return List<Object> array-reply */ RedisFuture<List<Object>> commandInfo(String... commands); /** * Returns an array reply of details about the requested commands. * * @param commands the commands to query for * @return List<Object> array-reply */ RedisFuture<List<Object>> commandInfo(CommandType... commands); /** * Get total number of Redis commands. * * @return Long integer-reply of number of total commands in this Redis server. */ RedisFuture<Long> commandCount(); /** * Get the value of a configuration parameter. * * @param parameter name of the parameter * @return List<String> bulk-string-reply */ RedisFuture<List<String>> configGet(String parameter); /** * Reset the stats returned by INFO. * * @return String simple-string-reply always {@code OK}. */ RedisFuture<String> configResetstat(); /** * Rewrite the configuration file with the in memory configuration. * * @return String simple-string-reply {@code OK} when the configuration was rewritten properly. Otherwise an error is * returned. */ RedisFuture<String> configRewrite(); /** * Set a configuration parameter to the given value. * * @param parameter the parameter name * @param value the parameter value * @return String simple-string-reply: {@code OK} when the configuration was set properly. Otherwise an error is returned. */ RedisFuture<String> configSet(String parameter, String value); /** * Return the number of keys in the selected database. * * @return Long integer-reply */ RedisFuture<Long> dbsize(); /** * Crash and recover * @param delay optional delay in milliseconds * @return String simple-string-reply */ RedisFuture<String> debugCrashAndRecover(Long delay); /** * Get debugging information about the internal hash-table state. * * @param db the database number * @return String simple-string-reply */ RedisFuture<String> debugHtstats(int db); /** * Get debugging information about a key. * * @param key the key * @return String simple-string-reply */ RedisFuture<String> debugObject(K key); /** * Make the server crash: Out of memory. * */ void debugOom(); /** * Make the server crash: Invalid pointer access. * */ void debugSegfault(); /** * Save RDB, clear the database and reload RDB. * * @return String simple-string-reply The commands returns OK on success. */ RedisFuture<String> debugReload(); /** * Restart the server gracefully. * @param delay optional delay in milliseconds * @return String simple-string-reply */ RedisFuture<String> debugRestart(Long delay); /** * Get debugging information about the internal SDS length. * * @param key the key * @return String simple-string-reply */ RedisFuture<String> debugSdslen(K key); /** * Remove all keys from all databases. * * @return String simple-string-reply */ RedisFuture<String> flushall(); /** * Remove all keys asynchronously from all databases. * * @return String simple-string-reply */ RedisFuture<String> flushallAsync(); /** * Remove all keys from the current database. * * @return String simple-string-reply */ RedisFuture<String> flushdb(); /** * Remove all keys asynchronously from the current database. * * @return String simple-string-reply */ RedisFuture<String> flushdbAsync(); /** * Get information and statistics about the server. * * @return String bulk-string-reply as a collection of text lines. */ RedisFuture<String> info(); /** * Get information and statistics about the server. * * @param section the section type: string * @return String bulk-string-reply as a collection of text lines. */ RedisFuture<String> info(String section); /** * Get the UNIX time stamp of the last successful save to disk. * * @return Date integer-reply an UNIX time stamp. */ RedisFuture<Date> lastsave(); /** * Synchronously save the dataset to disk. * * @return String simple-string-reply The commands returns OK on success. */ RedisFuture<String> save(); /** * Synchronously save the dataset to disk and then shut down the server. * * @param save {@literal true} force save operation */ void shutdown(boolean save); /** * Make the server a slave of another instance, or promote it as master. * * @param host the host type: string * @param port the port type: string * @return String simple-string-reply */ RedisFuture<String> slaveof(String host, int port); /** * Promote server as master. * * @return String simple-string-reply */ RedisFuture<String> slaveofNoOne(); /** * Read the slow log. * * @return List<Object> deeply nested multi bulk replies */ RedisFuture<List<Object>> slowlogGet(); /** * Read the slow log. * * @param count the count * @return List<Object> deeply nested multi bulk replies */ RedisFuture<List<Object>> slowlogGet(int count); /** * Obtaining the current length of the slow log. * * @return Long length of the slow log. */ RedisFuture<Long> slowlogLen(); /** * Resetting the slow log. * * @return String simple-string-reply The commands returns OK on success. */ RedisFuture<String> slowlogReset(); /** * Internal command used for replication. * * @return String simple-string-reply */ @Deprecated RedisFuture<String> sync(); /** * Return the current server time. * * @return List<V> array-reply specifically: * * A multi bulk reply containing two elements: * * unix time in seconds. microseconds. */ RedisFuture<List<V>> time(); }