Commit b18dce52 authored by liuqiyun's avatar liuqiyun Committed by Nick Craver

add a command sentinels (#899)

* 新加scan,sentinels命令

* add command sentinels
parent 8cc645dc
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
...@@ -646,6 +646,25 @@ public partial interface IServer : IRedis ...@@ -646,6 +646,25 @@ public partial interface IServer : IRedis
/// <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);
/// <summary>
/// show a list of sentinels info about a redis master
/// </summary>
/// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags">The command flags to use.</param>
/// <returns>an array of sentinel info KeyValuePair arrays</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks>
KeyValuePair<string, string>[][] SentinelSentinels(string serviceName, CommandFlags flags = CommandFlags.None);
/// <summary>
/// show a list of sentinels info about a redis master
/// </summary>
/// <param name="serviceName">The sentinel service name.</param>
/// <param name="flags">The command flags to use.</param>
/// <returns>an array of sentinel info KeyValuePair arrays</returns>
/// <remarks>https://redis.io/topics/sentinel</remarks>
Task<KeyValuePair<string, string>[][]> SentinelSentinelsAsync(string serviceName, CommandFlags flags = CommandFlags.None);
#endregion #endregion
} }
} }
using System; using System;
using System.Text; using System.Text;
namespace StackExchange.Redis namespace StackExchange.Redis
...@@ -66,6 +66,7 @@ public static readonly RedisValue ...@@ -66,6 +66,7 @@ public static readonly RedisValue
GETMASTERADDRBYNAME = "GET-MASTER-ADDR-BY-NAME", GETMASTERADDRBYNAME = "GET-MASTER-ADDR-BY-NAME",
// RESET = "RESET", // RESET = "RESET",
FAILOVER = "FAILOVER", FAILOVER = "FAILOVER",
Sentinels = "Sentinels",
// Sentinel Literals as of 2.8.4 // Sentinel Literals as of 2.8.4
MONITOR = "MONITOR", MONITOR = "MONITOR",
......
...@@ -302,6 +302,7 @@ public IEnumerable<RedisKey> Keys(int database = 0, RedisValue pattern = default ...@@ -302,6 +302,7 @@ public IEnumerable<RedisKey> Keys(int database = 0, RedisValue pattern = default
return ExecuteSync(msg, ResultProcessor.RedisKeyArray); return ExecuteSync(msg, ResultProcessor.RedisKeyArray);
} }
public DateTime LastSave(CommandFlags flags = CommandFlags.None) public DateTime LastSave(CommandFlags flags = CommandFlags.None)
{ {
var msg = Message.Create(-1, flags, RedisCommand.LASTSAVE); var msg = Message.Create(-1, flags, RedisCommand.LASTSAVE);
...@@ -812,6 +813,19 @@ public Task SentinelFailoverAsync(string serviceName, CommandFlags flags = Comma ...@@ -812,6 +813,19 @@ public Task SentinelFailoverAsync(string serviceName, CommandFlags flags = Comma
return ExecuteAsync(msg, ResultProcessor.SentinelArrayOfArrays); return ExecuteAsync(msg, ResultProcessor.SentinelArrayOfArrays);
} }
public KeyValuePair<string, string>[][] SentinelSentinels(string serviceName, CommandFlags flags = CommandFlags.None)
{
var msg = Message.Create(-1, flags, RedisCommand.SENTINEL, RedisLiterals.Sentinels, (RedisValue)serviceName);
return ExecuteSync(msg, ResultProcessor.SentinelArrayOfArrays);
}
public Task<KeyValuePair<string, string>[][]> SentinelSentinelsAsync(string serviceName, CommandFlags flags = CommandFlags.None)
{
var msg = Message.Create(-1, flags, RedisCommand.SENTINEL, RedisLiterals.Sentinels, (RedisValue)serviceName);
return ExecuteAsync(msg, ResultProcessor.SentinelArrayOfArrays);
}
#endregion #endregion
} }
} }
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