Commit dfa0bfe1 authored by Nick Craver's avatar Nick Craver

Docs: IServer

parent 8a4bc72d
...@@ -57,6 +57,8 @@ public partial interface IServer : IRedis ...@@ -57,6 +57,8 @@ public partial interface IServer : IRedis
/// The ip:port should match a line returned by the CLIENT LIST command. /// The ip:port should match a line returned by the CLIENT LIST command.
/// Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error). /// Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error).
/// </summary> /// </summary>
/// <param name="endpoint">The endpoint of the client to kill.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/client-kill</remarks> /// <remarks>https://redis.io/commands/client-kill</remarks>
void ClientKill(EndPoint endpoint, CommandFlags flags = CommandFlags.None); void ClientKill(EndPoint endpoint, CommandFlags flags = CommandFlags.None);
...@@ -65,12 +67,19 @@ public partial interface IServer : IRedis ...@@ -65,12 +67,19 @@ public partial interface IServer : IRedis
/// The ip:port should match a line returned by the CLIENT LIST command. /// The ip:port should match a line returned by the CLIENT LIST command.
/// Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error). /// Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error).
/// </summary> /// </summary>
/// <param name="endpoint">The endpoint of the client to kill.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/client-kill</remarks> /// <remarks>https://redis.io/commands/client-kill</remarks>
Task ClientKillAsync(EndPoint endpoint, CommandFlags flags = CommandFlags.None); Task ClientKillAsync(EndPoint endpoint, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The CLIENT KILL command closes multiple connections that match the specified filters /// The CLIENT KILL command closes multiple connections that match the specified filters
/// </summary> /// </summary>
/// <param name="id">The ID of the client to kill.</param>
/// <param name="clientType">The type of client.</param>
/// <param name="endpoint">The endpoint to kill.</param>
/// <param name="skipMe">Whether to kskip the current connection.</param>
/// <param name="flags">The command flags to use.</param>
/// <returns>the number of clients killed.</returns> /// <returns>the number of clients killed.</returns>
/// <remarks>https://redis.io/commands/client-kill</remarks> /// <remarks>https://redis.io/commands/client-kill</remarks>
long ClientKill(long? id = null, ClientType? clientType = null, EndPoint endpoint = null, bool skipMe = true, CommandFlags flags = CommandFlags.None); long ClientKill(long? id = null, ClientType? clientType = null, EndPoint endpoint = null, bool skipMe = true, CommandFlags flags = CommandFlags.None);
...@@ -78,6 +87,11 @@ public partial interface IServer : IRedis ...@@ -78,6 +87,11 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// The CLIENT KILL command closes multiple connections that match the specified filters /// The CLIENT KILL command closes multiple connections that match the specified filters
/// </summary> /// </summary>
/// <param name="id">The ID of the client to kill.</param>
/// <param name="clientType">The type of client.</param>
/// <param name="endpoint">The endpoint to kill.</param>
/// <param name="skipMe">Whether to kskip the current connection.</param>
/// <param name="flags">The command flags to use.</param>
/// <returns>the number of clients killed.</returns> /// <returns>the number of clients killed.</returns>
/// <remarks>https://redis.io/commands/client-kill</remarks> /// <remarks>https://redis.io/commands/client-kill</remarks>
Task<long> ClientKillAsync(long? id = null, ClientType? clientType = null, EndPoint endpoint = null, bool skipMe = true, CommandFlags flags = CommandFlags.None); Task<long> ClientKillAsync(long? id = null, ClientType? clientType = null, EndPoint endpoint = null, bool skipMe = true, CommandFlags flags = CommandFlags.None);
...@@ -85,38 +99,46 @@ public partial interface IServer : IRedis ...@@ -85,38 +99,46 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. /// The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/client-list</remarks> /// <remarks>https://redis.io/commands/client-list</remarks>
ClientInfo[] ClientList(CommandFlags flags = CommandFlags.None); ClientInfo[] ClientList(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. /// The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/client-list</remarks> /// <remarks>https://redis.io/commands/client-list</remarks>
Task<ClientInfo[]> ClientListAsync(CommandFlags flags = CommandFlags.None); Task<ClientInfo[]> ClientListAsync(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Obtains the current CLUSTER NODES output from a cluster server /// Obtains the current CLUSTER NODES output from a cluster server
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
ClusterConfiguration ClusterNodes(CommandFlags flags = CommandFlags.None); ClusterConfiguration ClusterNodes(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Obtains the current CLUSTER NODES output from a cluster server /// Obtains the current CLUSTER NODES output from a cluster server
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
Task<ClusterConfiguration> ClusterNodesAsync(CommandFlags flags = CommandFlags.None); Task<ClusterConfiguration> ClusterNodesAsync(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Obtains the current raw CLUSTER NODES output from a cluster server /// Obtains the current raw CLUSTER NODES output from a cluster server
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
string ClusterNodesRaw(CommandFlags flags = CommandFlags.None); string ClusterNodesRaw(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Obtains the current raw CLUSTER NODES output from a cluster server /// Obtains the current raw CLUSTER NODES output from a cluster server
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
Task<string> ClusterNodesRawAsync(CommandFlags flags = CommandFlags.None); Task<string> ClusterNodesRawAsync(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Get all configuration parameters matching the specified pattern. /// Get all configuration parameters matching the specified pattern.
/// </summary> /// </summary>
/// <param name="pattern">The pattern of config values to get.</param>
/// <param name="flags">The command flags to use.</param>
/// <returns>All matching configuration parameters.</returns> /// <returns>All matching configuration parameters.</returns>
/// <remarks>https://redis.io/commands/config-get</remarks> /// <remarks>https://redis.io/commands/config-get</remarks>
KeyValuePair<string, string>[] ConfigGet(RedisValue pattern = default(RedisValue), CommandFlags flags = CommandFlags.None); KeyValuePair<string, string>[] ConfigGet(RedisValue pattern = default(RedisValue), CommandFlags flags = CommandFlags.None);
...@@ -124,6 +146,8 @@ public partial interface IServer : IRedis ...@@ -124,6 +146,8 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Get all configuration parameters matching the specified pattern. /// Get all configuration parameters matching the specified pattern.
/// </summary> /// </summary>
/// <param name="pattern">The pattern of config values to get.</param>
/// <param name="flags">The command flags to use.</param>
/// <returns>All matching configuration parameters.</returns> /// <returns>All matching configuration parameters.</returns>
/// <remarks>https://redis.io/commands/config-get</remarks> /// <remarks>https://redis.io/commands/config-get</remarks>
Task<KeyValuePair<string, string>[]> ConfigGetAsync(RedisValue pattern = default(RedisValue), CommandFlags flags = CommandFlags.None); Task<KeyValuePair<string, string>[]> ConfigGetAsync(RedisValue pattern = default(RedisValue), CommandFlags flags = CommandFlags.None);
...@@ -131,84 +155,108 @@ public partial interface IServer : IRedis ...@@ -131,84 +155,108 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Resets the statistics reported by Redis using the INFO command. /// Resets the statistics reported by Redis using the INFO command.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/config-resetstat</remarks> /// <remarks>https://redis.io/commands/config-resetstat</remarks>
void ConfigResetStatistics(CommandFlags flags = CommandFlags.None); void ConfigResetStatistics(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Resets the statistics reported by Redis using the INFO command. /// Resets the statistics reported by Redis using the INFO command.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/config-resetstat</remarks> /// <remarks>https://redis.io/commands/config-resetstat</remarks>
Task ConfigResetStatisticsAsync(CommandFlags flags = CommandFlags.None); Task ConfigResetStatisticsAsync(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. /// The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/config-rewrite</remarks> /// <remarks>https://redis.io/commands/config-rewrite</remarks>
void ConfigRewrite(CommandFlags flags = CommandFlags.None); void ConfigRewrite(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. /// The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/config-rewrite</remarks> /// <remarks>https://redis.io/commands/config-rewrite</remarks>
Task ConfigRewriteAsync(CommandFlags flags = CommandFlags.None); Task ConfigRewriteAsync(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command. /// The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command.
/// </summary> /// </summary>
/// <param name="setting">The setting name.</param>
/// <param name="value">The new setting value.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/config-set</remarks> /// <remarks>https://redis.io/commands/config-set</remarks>
void ConfigSet(RedisValue setting, RedisValue value, CommandFlags flags = CommandFlags.None); void ConfigSet(RedisValue setting, RedisValue value, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command. /// The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command.
/// </summary> /// </summary>
/// <param name="setting">The setting name.</param>
/// <param name="value">The new setting value.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/config-set</remarks> /// <remarks>https://redis.io/commands/config-set</remarks>
Task ConfigSetAsync(RedisValue setting, RedisValue value, CommandFlags flags = CommandFlags.None); Task ConfigSetAsync(RedisValue setting, RedisValue value, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Return the number of keys in the database. /// Return the number of keys in the database.
/// </summary> /// </summary>
/// <param name="database">The database ID.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/dbsize</remarks> /// <remarks>https://redis.io/commands/dbsize</remarks>
long DatabaseSize(int database = 0, CommandFlags flags = CommandFlags.None); long DatabaseSize(int database = 0, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Return the number of keys in the database. /// Return the number of keys in the database.
/// </summary> /// </summary>
/// <param name="database">The database ID.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/dbsize</remarks> /// <remarks>https://redis.io/commands/dbsize</remarks>
Task<long> DatabaseSizeAsync(int database = 0, CommandFlags flags = CommandFlags.None); Task<long> DatabaseSizeAsync(int database = 0, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Return the same message passed in /// Return the same message passed in.
/// </summary> /// </summary>
/// <param name="message">The message to echo.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/echo</remarks> /// <remarks>https://redis.io/commands/echo</remarks>
RedisValue Echo(RedisValue message, CommandFlags flags = CommandFlags.None); RedisValue Echo(RedisValue message, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Return the same message passed in /// Return the same message passed in.
/// </summary> /// </summary>
/// <param name="message">The message to echo.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/echo</remarks> /// <remarks>https://redis.io/commands/echo</remarks>
Task<RedisValue> EchoAsync(RedisValue message, CommandFlags flags = CommandFlags.None); Task<RedisValue> EchoAsync(RedisValue message, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Delete all the keys of all databases on the server. /// Delete all the keys of all databases on the server.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/flushall</remarks> /// <remarks>https://redis.io/commands/flushall</remarks>
void FlushAllDatabases(CommandFlags flags = CommandFlags.None); void FlushAllDatabases(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Delete all the keys of all databases on the server. /// Delete all the keys of all databases on the server.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/flushall</remarks> /// <remarks>https://redis.io/commands/flushall</remarks>
Task FlushAllDatabasesAsync(CommandFlags flags = CommandFlags.None); Task FlushAllDatabasesAsync(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Delete all the keys of the database. /// Delete all the keys of the database.
/// </summary> /// </summary>
/// <param name="database">The database ID.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/flushdb</remarks> /// <remarks>https://redis.io/commands/flushdb</remarks>
void FlushDatabase(int database = 0, CommandFlags flags = CommandFlags.None); void FlushDatabase(int database = 0, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Delete all the keys of the database. /// Delete all the keys of the database.
/// </summary> /// </summary>
/// <param name="database">The database ID.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/flushdb</remarks> /// <remarks>https://redis.io/commands/flushdb</remarks>
Task FlushDatabaseAsync(int database = 0, CommandFlags flags = CommandFlags.None); Task FlushDatabaseAsync(int database = 0, CommandFlags flags = CommandFlags.None);
...@@ -219,30 +267,42 @@ public partial interface IServer : IRedis ...@@ -219,30 +267,42 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. /// The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans.
/// </summary> /// </summary>
/// <param name="section">The info section to get, if getting a specific one.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/info</remarks> /// <remarks>https://redis.io/commands/info</remarks>
IGrouping<string, KeyValuePair<string, string>>[] Info(RedisValue section = default(RedisValue), CommandFlags flags = CommandFlags.None); IGrouping<string, KeyValuePair<string, string>>[] Info(RedisValue section = default(RedisValue), CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. /// The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans.
/// </summary> /// </summary>
/// <param name="section">The info section to get, if getting a specific one.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/info</remarks> /// <remarks>https://redis.io/commands/info</remarks>
Task<IGrouping<string, KeyValuePair<string, string>>[]> InfoAsync(RedisValue section = default(RedisValue), CommandFlags flags = CommandFlags.None); Task<IGrouping<string, KeyValuePair<string, string>>[]> InfoAsync(RedisValue section = default(RedisValue), CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. /// The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans.
/// </summary> /// </summary>
/// <param name="section">The info section to get, if getting a specific one.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/info</remarks> /// <remarks>https://redis.io/commands/info</remarks>
string InfoRaw(RedisValue section = default(RedisValue), CommandFlags flags = CommandFlags.None); string InfoRaw(RedisValue section = default(RedisValue), CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. /// The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans.
/// </summary> /// </summary>
/// <param name="section">The info section to get, if getting a specific one.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/info</remarks> /// <remarks>https://redis.io/commands/info</remarks>
Task<string> InfoRawAsync(RedisValue section = default(RedisValue), CommandFlags flags = CommandFlags.None); Task<string> InfoRawAsync(RedisValue section = default(RedisValue), CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities. /// Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities.
/// </summary> /// </summary>
/// <param name="database">The database ID.</param>
/// <param name="pattern">The pattern to use.</param>
/// <param name="pageSize">The page size to iterate by.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>Warning: consider KEYS as a command that should only be used in production environments with extreme care.</remarks> /// <remarks>Warning: consider KEYS as a command that should only be used in production environments with extreme care.</remarks>
/// <remarks>https://redis.io/commands/keys</remarks> /// <remarks>https://redis.io/commands/keys</remarks>
/// <remarks>https://redis.io/commands/scan</remarks> /// <remarks>https://redis.io/commands/scan</remarks>
...@@ -251,6 +311,12 @@ public partial interface IServer : IRedis ...@@ -251,6 +311,12 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities; note: to resume an iteration via <i>cursor</i>, cast the original enumerable or enumerator to <i>IScanningCursor</i>. /// Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities; note: to resume an iteration via <i>cursor</i>, cast the original enumerable or enumerator to <i>IScanningCursor</i>.
/// </summary> /// </summary>
/// <param name="database">The database ID.</param>
/// <param name="pattern">The pattern to use.</param>
/// <param name="pageSize">The page size to iterate by.</param>
/// <param name="cursor">The cursor position to resume at.</param>
/// <param name="pageOffset">The page offset to start at.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>Warning: consider KEYS as a command that should only be used in production environments with extreme care.</remarks> /// <remarks>Warning: consider KEYS as a command that should only be used in production environments with extreme care.</remarks>
/// <remarks>https://redis.io/commands/keys</remarks> /// <remarks>https://redis.io/commands/keys</remarks>
/// <remarks>https://redis.io/commands/scan</remarks> /// <remarks>https://redis.io/commands/scan</remarks>
...@@ -259,23 +325,29 @@ public partial interface IServer : IRedis ...@@ -259,23 +325,29 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed. /// Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/lastsave</remarks> /// <remarks>https://redis.io/commands/lastsave</remarks>
DateTime LastSave(CommandFlags flags = CommandFlags.None); DateTime LastSave(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed. /// Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/lastsave</remarks> /// <remarks>https://redis.io/commands/lastsave</remarks>
Task<DateTime> LastSaveAsync(CommandFlags flags = CommandFlags.None); Task<DateTime> LastSaveAsync(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Promote the selected node to be master /// Promote the selected node to be master
/// </summary> /// </summary>
/// <param name="options">The options to use for this topology change.</param>
/// <param name="log">The log to write output to.</param>
void MakeMaster(ReplicationChangeOptions options, TextWriter log = null); void MakeMaster(ReplicationChangeOptions options, TextWriter log = null);
/// <summary> /// <summary>
/// Explicitly request the database to persist the current state to disk /// Explicitly request the database to persist the current state to disk
/// </summary> /// </summary>
/// <param name="type">The method of the save (e.g. background or foreground).</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/bgrewriteaof</remarks> /// <remarks>https://redis.io/commands/bgrewriteaof</remarks>
/// <remarks>https://redis.io/commands/bgsave</remarks> /// <remarks>https://redis.io/commands/bgsave</remarks>
/// <remarks>https://redis.io/commands/save</remarks> /// <remarks>https://redis.io/commands/save</remarks>
...@@ -285,6 +357,8 @@ public partial interface IServer : IRedis ...@@ -285,6 +357,8 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Explicitly request the database to persist the current state to disk /// Explicitly request the database to persist the current state to disk
/// </summary> /// </summary>
/// <param name="type">The method of the save (e.g. background or foreground).</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/bgrewriteaof</remarks> /// <remarks>https://redis.io/commands/bgrewriteaof</remarks>
/// <remarks>https://redis.io/commands/bgsave</remarks> /// <remarks>https://redis.io/commands/bgsave</remarks>
/// <remarks>https://redis.io/commands/save</remarks> /// <remarks>https://redis.io/commands/save</remarks>
...@@ -294,96 +368,130 @@ public partial interface IServer : IRedis ...@@ -294,96 +368,130 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Inidicates whether the specified script is defined on the server /// Inidicates whether the specified script is defined on the server
/// </summary> /// </summary>
/// <param name="script">The text of the script to check for on the server.</param>
/// <param name="flags">The command flags to use.</param>
bool ScriptExists(string script, CommandFlags flags = CommandFlags.None); bool ScriptExists(string script, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Inidicates whether the specified script hash is defined on the server /// Inidicates whether the specified script hash is defined on the server
/// </summary> /// </summary>
/// <param name="sha1">The SHA1 of the script to check for on the server.</param>
/// <param name="flags">The command flags to use.</param>
bool ScriptExists(byte[] sha1, CommandFlags flags = CommandFlags.None); bool ScriptExists(byte[] sha1, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Inidicates whether the specified script is defined on the server /// Inidicates whether the specified script is defined on the server
/// </summary> /// </summary>
/// <param name="script">The text of the script to check for on the server.</param>
/// <param name="flags">The command flags to use.</param>
Task<bool> ScriptExistsAsync(string script, CommandFlags flags = CommandFlags.None); Task<bool> ScriptExistsAsync(string script, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Inidicates whether the specified script hash is defined on the server /// Inidicates whether the specified script hash is defined on the server
/// </summary> /// </summary>
/// <param name="sha1">The SHA1 of the script to check for on the server.</param>
/// <param name="flags">The command flags to use.</param>
Task<bool> ScriptExistsAsync(byte[] sha1, CommandFlags flags = CommandFlags.None); Task<bool> ScriptExistsAsync(byte[] sha1, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Removes all cached scripts on this server /// Removes all cached scripts on this server
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
void ScriptFlush(CommandFlags flags = CommandFlags.None); void ScriptFlush(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Removes all cached scripts on this server /// Removes all cached scripts on this server
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
Task ScriptFlushAsync(CommandFlags flags = CommandFlags.None); Task ScriptFlushAsync(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Explicitly defines a script on the server /// Explicitly defines a script on the server
/// </summary> /// </summary>
/// <param name="script">The script to load.</param>
/// <param name="flags">The command flags to use.</param>
byte[] ScriptLoad(string script, CommandFlags flags = CommandFlags.None); byte[] ScriptLoad(string script, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Explicitly defines a script on the server /// Explicitly defines a script on the server
/// </summary> /// </summary>
/// <param name="script">The script to load.</param>
/// <param name="flags">The command flags to use.</param>
LoadedLuaScript ScriptLoad(LuaScript script, CommandFlags flags = CommandFlags.None); LoadedLuaScript ScriptLoad(LuaScript script, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Explicitly defines a script on the server /// Explicitly defines a script on the server
/// </summary> /// </summary>
/// <param name="script">The script to load.</param>
/// <param name="flags">The command flags to use.</param>
Task<byte[]> ScriptLoadAsync(string script, CommandFlags flags = CommandFlags.None); Task<byte[]> ScriptLoadAsync(string script, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Explicitly defines a script on the server /// Explicitly defines a script on the server
/// </summary> /// </summary>
/// <param name="script">The script to load.</param>
/// <param name="flags">The command flags to use.</param>
Task<LoadedLuaScript> ScriptLoadAsync(LuaScript script, CommandFlags flags = CommandFlags.None); Task<LoadedLuaScript> ScriptLoadAsync(LuaScript script, CommandFlags flags = CommandFlags.None);
/// <summary>Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command.</summary> /// <summary>
/// Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command.
/// </summary>
/// <param name="shutdownMode">The mode of the shutdown.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/shutdown</remarks> /// <remarks>https://redis.io/commands/shutdown</remarks>
void Shutdown(ShutdownMode shutdownMode = ShutdownMode.Default, CommandFlags flags = CommandFlags.None); void Shutdown(ShutdownMode shutdownMode = ShutdownMode.Default, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port. /// The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port.
/// </summary> /// </summary>
/// <param name="master">Endpoint of the new master to slave to.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/slaveof</remarks> /// <remarks>https://redis.io/commands/slaveof</remarks>
void SlaveOf(EndPoint master, CommandFlags flags = CommandFlags.None); void SlaveOf(EndPoint master, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port. /// The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port.
/// </summary> /// </summary>
/// <param name="master">Endpoint of the new master to slave to.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/slaveof</remarks> /// <remarks>https://redis.io/commands/slaveof</remarks>
Task SlaveOfAsync(EndPoint master, CommandFlags flags = CommandFlags.None); Task SlaveOfAsync(EndPoint master, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). /// To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10).
/// </summary> /// </summary>
/// <param name="count">The count of items to get.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/slowlog</remarks> /// <remarks>https://redis.io/commands/slowlog</remarks>
CommandTrace[] SlowlogGet(int count = 0, CommandFlags flags = CommandFlags.None); CommandTrace[] SlowlogGet(int count = 0, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). /// To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10).
/// </summary> /// </summary>
/// <param name="count">The count of items to get.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/slowlog</remarks> /// <remarks>https://redis.io/commands/slowlog</remarks>
Task<CommandTrace[]> SlowlogGetAsync(int count = 0, CommandFlags flags = CommandFlags.None); Task<CommandTrace[]> SlowlogGetAsync(int count = 0, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. /// You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/slowlog</remarks> /// <remarks>https://redis.io/commands/slowlog</remarks>
void SlowlogReset(CommandFlags flags = CommandFlags.None); void SlowlogReset(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. /// You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/slowlog</remarks> /// <remarks>https://redis.io/commands/slowlog</remarks>
Task SlowlogResetAsync(CommandFlags flags = CommandFlags.None); Task SlowlogResetAsync(CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). /// Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns).
/// </summary> /// </summary>
/// <param name="pattern">The channel name pattern to get channels for.</param>
/// <param name="flags">The command flags to use.</param>
/// <returns> a list of active channels, optionally matching the specified pattern.</returns> /// <returns> a list of active channels, optionally matching the specified pattern.</returns>
/// <remarks>https://redis.io/commands/pubsub</remarks> /// <remarks>https://redis.io/commands/pubsub</remarks>
RedisChannel[] SubscriptionChannels(RedisChannel pattern = default(RedisChannel), CommandFlags flags = CommandFlags.None); RedisChannel[] SubscriptionChannels(RedisChannel pattern = default(RedisChannel), CommandFlags flags = CommandFlags.None);
...@@ -391,6 +499,8 @@ public partial interface IServer : IRedis ...@@ -391,6 +499,8 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). /// Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns).
/// </summary> /// </summary>
/// <param name="pattern">The channel name pattern to get channels for.</param>
/// <param name="flags">The command flags to use.</param>
/// <returns> a list of active channels, optionally matching the specified pattern.</returns> /// <returns> a list of active channels, optionally matching the specified pattern.</returns>
/// <remarks>https://redis.io/commands/pubsub</remarks> /// <remarks>https://redis.io/commands/pubsub</remarks>
Task<RedisChannel[]> SubscriptionChannelsAsync(RedisChannel pattern = default(RedisChannel), CommandFlags flags = CommandFlags.None); Task<RedisChannel[]> SubscriptionChannelsAsync(RedisChannel pattern = default(RedisChannel), CommandFlags flags = CommandFlags.None);
...@@ -398,6 +508,7 @@ public partial interface IServer : IRedis ...@@ -398,6 +508,7 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. /// Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <returns>the number of patterns all the clients are subscribed to.</returns> /// <returns>the number of patterns all the clients are subscribed to.</returns>
/// <remarks>https://redis.io/commands/pubsub</remarks> /// <remarks>https://redis.io/commands/pubsub</remarks>
long SubscriptionPatternCount(CommandFlags flags = CommandFlags.None); long SubscriptionPatternCount(CommandFlags flags = CommandFlags.None);
...@@ -405,6 +516,7 @@ public partial interface IServer : IRedis ...@@ -405,6 +516,7 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. /// Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <returns>the number of patterns all the clients are subscribed to.</returns> /// <returns>the number of patterns all the clients are subscribed to.</returns>
/// <remarks>https://redis.io/commands/pubsub</remarks> /// <remarks>https://redis.io/commands/pubsub</remarks>
Task<long> SubscriptionPatternCountAsync(CommandFlags flags = CommandFlags.None); Task<long> SubscriptionPatternCountAsync(CommandFlags flags = CommandFlags.None);
...@@ -412,18 +524,23 @@ public partial interface IServer : IRedis ...@@ -412,18 +524,23 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. /// Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel.
/// </summary> /// </summary>
/// <param name="channel">The channel to get a subcriber count for.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/pubsub</remarks> /// <remarks>https://redis.io/commands/pubsub</remarks>
long SubscriptionSubscriberCount(RedisChannel channel, CommandFlags flags = CommandFlags.None); long SubscriptionSubscriberCount(RedisChannel channel, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. /// Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel.
/// </summary> /// </summary>
/// <param name="channel">The channel to get a subcriber count for.</param>
/// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/commands/pubsub</remarks> /// <remarks>https://redis.io/commands/pubsub</remarks>
Task<long> SubscriptionSubscriberCountAsync(RedisChannel channel, CommandFlags flags = CommandFlags.None); Task<long> SubscriptionSubscriberCountAsync(RedisChannel channel, CommandFlags flags = CommandFlags.None);
/// <summary> /// <summary>
/// The TIME command returns the current server time. /// The TIME command returns the current server time.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <returns>The server's current time.</returns> /// <returns>The server's current time.</returns>
/// <remarks>https://redis.io/commands/time</remarks> /// <remarks>https://redis.io/commands/time</remarks>
DateTime Time(CommandFlags flags = CommandFlags.None); DateTime Time(CommandFlags flags = CommandFlags.None);
...@@ -431,6 +548,7 @@ public partial interface IServer : IRedis ...@@ -431,6 +548,7 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// The TIME command returns the current server time. /// The TIME command returns the current server time.
/// </summary> /// </summary>
/// <param name="flags">The command flags to use.</param>
/// <returns>The server's current time.</returns> /// <returns>The server's current time.</returns>
/// <remarks>https://redis.io/commands/time</remarks> /// <remarks>https://redis.io/commands/time</remarks>
Task<DateTime> TimeAsync(CommandFlags flags = CommandFlags.None); Task<DateTime> TimeAsync(CommandFlags flags = CommandFlags.None);
...@@ -441,8 +559,8 @@ public partial interface IServer : IRedis ...@@ -441,8 +559,8 @@ public partial interface IServer : IRedis
/// Returns the ip and port number of the master with that name. /// Returns the ip and port number of the master with that name.
/// If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave. /// If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave.
/// </summary> /// </summary>
/// <param name="serviceName">the sentinel service name</param> /// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <returns>the master ip and port</returns> /// <returns>the master ip and port</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
EndPoint SentinelGetMasterAddressByName(string serviceName, CommandFlags flags = CommandFlags.None); EndPoint SentinelGetMasterAddressByName(string serviceName, CommandFlags flags = CommandFlags.None);
...@@ -451,8 +569,8 @@ public partial interface IServer : IRedis ...@@ -451,8 +569,8 @@ public partial interface IServer : IRedis
/// Returns the ip and port number of the master with that name. /// Returns the ip and port number of the master with that name.
/// If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave. /// If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave.
/// </summary> /// </summary>
/// <param name="serviceName">the sentinel service name</param> /// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <returns>the master ip and port</returns> /// <returns>the master ip and port</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
Task<EndPoint> SentinelGetMasterAddressByNameAsync(string serviceName, CommandFlags flags = CommandFlags.None); Task<EndPoint> SentinelGetMasterAddressByNameAsync(string serviceName, CommandFlags flags = CommandFlags.None);
...@@ -460,8 +578,8 @@ public partial interface IServer : IRedis ...@@ -460,8 +578,8 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Show the state and info of the specified master. /// Show the state and info of the specified master.
/// </summary> /// </summary>
/// <param name="serviceName">the sentinel service name</param> /// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <returns>the master state as KeyValuePairs</returns> /// <returns>the master state as KeyValuePairs</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
KeyValuePair<string, string>[] SentinelMaster(string serviceName, CommandFlags flags = CommandFlags.None); KeyValuePair<string, string>[] SentinelMaster(string serviceName, CommandFlags flags = CommandFlags.None);
...@@ -470,8 +588,8 @@ public partial interface IServer : IRedis ...@@ -470,8 +588,8 @@ public partial interface IServer : IRedis
/// Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels /// Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels
/// (however a new version of the configuration will be published so that the other Sentinels will update their configurations). /// (however a new version of the configuration will be published so that the other Sentinels will update their configurations).
/// </summary> /// </summary>
/// <param name="serviceName">the sentinel service name</param> /// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <returns>the master state as KeyValuePairs</returns> /// <returns>the master state as KeyValuePairs</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
Task<KeyValuePair<string, string>[]> SentinelMasterAsync(string serviceName, CommandFlags flags = CommandFlags.None); Task<KeyValuePair<string, string>[]> SentinelMasterAsync(string serviceName, CommandFlags flags = CommandFlags.None);
...@@ -479,7 +597,7 @@ public partial interface IServer : IRedis ...@@ -479,7 +597,7 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Show a list of monitored masters and their state. /// Show a list of monitored masters and their state.
/// </summary> /// </summary>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <returns>an array of master state KeyValuePair arrays</returns> /// <returns>an array of master state KeyValuePair arrays</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
KeyValuePair<string, string>[][] SentinelMasters(CommandFlags flags = CommandFlags.None); KeyValuePair<string, string>[][] SentinelMasters(CommandFlags flags = CommandFlags.None);
...@@ -487,7 +605,7 @@ public partial interface IServer : IRedis ...@@ -487,7 +605,7 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Show a list of monitored masters and their state. /// Show a list of monitored masters and their state.
/// </summary> /// </summary>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <returns>an array of master state KeyValuePair arrays</returns> /// <returns>an array of master state KeyValuePair arrays</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
Task<KeyValuePair<string, string>[][]> SentinelMastersAsync(CommandFlags flags = CommandFlags.None); Task<KeyValuePair<string, string>[][]> SentinelMastersAsync(CommandFlags flags = CommandFlags.None);
...@@ -495,8 +613,8 @@ public partial interface IServer : IRedis ...@@ -495,8 +613,8 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Show a list of slaves for this master, and their state. /// Show a list of slaves for this master, and their state.
/// </summary> /// </summary>
/// <param name="serviceName">the sentinel service name</param> /// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <returns>an array of slave state KeyValuePair arrays</returns> /// <returns>an array of slave state KeyValuePair arrays</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
KeyValuePair<string, string>[][] SentinelSlaves(string serviceName, CommandFlags flags = CommandFlags.None); KeyValuePair<string, string>[][] SentinelSlaves(string serviceName, CommandFlags flags = CommandFlags.None);
...@@ -504,8 +622,8 @@ public partial interface IServer : IRedis ...@@ -504,8 +622,8 @@ public partial interface IServer : IRedis
/// <summary> /// <summary>
/// Show a list of slaves for this master, and their state. /// Show a list of slaves for this master, and their state.
/// </summary> /// </summary>
/// <param name="serviceName">the sentinel service name</param> /// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <returns>an array of slave state KeyValuePair arrays</returns> /// <returns>an array of slave state KeyValuePair arrays</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
Task<KeyValuePair<string, string>[][]> SentinelSlavesAsync(string serviceName, CommandFlags flags = CommandFlags.None); Task<KeyValuePair<string, string>[][]> SentinelSlavesAsync(string serviceName, CommandFlags flags = CommandFlags.None);
...@@ -514,8 +632,8 @@ public partial interface IServer : IRedis ...@@ -514,8 +632,8 @@ public partial interface IServer : IRedis
/// Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels /// Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels
/// (however a new version of the configuration will be published so that the other Sentinels will update their configurations). /// (however a new version of the configuration will be published so that the other Sentinels will update their configurations).
/// </summary> /// </summary>
/// <param name="serviceName">the sentinel service name</param> /// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
void SentinelFailover(string serviceName, CommandFlags flags = CommandFlags.None); void SentinelFailover(string serviceName, CommandFlags flags = CommandFlags.None);
...@@ -523,8 +641,8 @@ public partial interface IServer : IRedis ...@@ -523,8 +641,8 @@ public partial interface IServer : IRedis
/// Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels /// Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels
/// (however a new version of the configuration will be published so that the other Sentinels will update their configurations). /// (however a new version of the configuration will be published so that the other Sentinels will update their configurations).
/// </summary> /// </summary>
/// <param name="serviceName">the sentinel service name</param> /// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags"></param> /// <param name="flags">The command flags to use.</param>
/// <remarks>https://redis.io/topics/sentinel</remarks> /// <remarks>https://redis.io/topics/sentinel</remarks>
Task SentinelFailoverAsync(string serviceName, CommandFlags flags = CommandFlags.None); Task SentinelFailoverAsync(string serviceName, CommandFlags flags = CommandFlags.None);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment