C# 4.0 是否有Redis rdb工具的C#实现?
看一看,似乎有一些有用的函数用于监视Redis服务器的运行状况 似乎有一套很好的客户端函数(但我正在使用) 是否有任何C#实现可以为我提供一些基本的健康检查—消耗的内存、磁盘使用情况等 --更新-- 由于booksleve的GetInfo()命令,返回了以下内容。。。但是,我应该更具体一点:是否有一种方法可以将服务器信息作为参数/对象属性返回,或者有一种预打包的方法来解析输出值 以下是GetInfo()的输出: 调用时,它提供redis服务器中所有不同的服务器信息统计信息C# 4.0 是否有Redis rdb工具的C#实现?,c#-4.0,redis,servicestack,booksleeve,C# 4.0,Redis,servicestack,Booksleeve,看一看,似乎有一些有用的函数用于监视Redis服务器的运行状况 似乎有一套很好的客户端函数(但我正在使用) 是否有任何C#实现可以为我提供一些基本的健康检查—消耗的内存、磁盘使用情况等 --更新-- 由于booksleve的GetInfo()命令,返回了以下内容。。。但是,我应该更具体一点:是否有一种方法可以将服务器信息作为参数/对象属性返回,或者有一种预打包的方法来解析输出值 以下是GetInfo()的输出: 调用时,它提供redis服务器中所有不同的服务器信息统计信息 这是关于redis服务
这是关于redis服务器的2.5.12版本。关于更新的问题:那里的信息目前没有以“已解析”的形式公开,但这听起来是一个合理的添加;我怀疑我会隐藏
GetInfo()
方法,将其移动到.Server.GetInfo()
,并以解析形式将其公开。但是,用于拆分它的代码已经存在,但作为私有方法:RedisConnectionBase.ParseInfo
:
static Dictionary<string, string> ParseInfo(string result)
{
string[] lines = result.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
var data = new Dictionary<string, string>();
for (int i = 0; i < lines.Length; i++)
{
string line = lines[i];
if (string.IsNullOrEmpty(line) || line[0] == '#') continue; // 2.6+ can have empty lines, and comment lines
int idx = line.IndexOf(':');
if (idx > 0) // double check this line looks about right
{
data.Add(line.Substring(0, idx), line.Substring(idx + 1));
}
}
return data;
}
static Dictionary ParseInfo(字符串结果)
{
string[]line=result.Split(新[]{“\r\n”},StringSplitOptions.RemoveEmptyEntries);
var data=newdictionary();
对于(int i=0;i0)//仔细检查这一行是否正确
{
data.Add(line.Substring(0,idx),line.Substring(idx+1));
}
}
返回数据;
}
展开:在booksleve中,连接实例上的GetInfo()
命令返回此信息更新问题:是否有方法读取/处理单个值?是的,在解析形式中,它更有意义,因为这样值将可用,而不仅仅用于显示。避免修改booksleve代码,我将该方法添加到助手类中。非常好,谢谢。@ElHaix我的本地副本现在有了(在.Server
下):任务获取信息(string section=null,bool queueJump=false)代码>
static Dictionary<string, string> ParseInfo(string result)
{
string[] lines = result.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
var data = new Dictionary<string, string>();
for (int i = 0; i < lines.Length; i++)
{
string line = lines[i];
if (string.IsNullOrEmpty(line) || line[0] == '#') continue; // 2.6+ can have empty lines, and comment lines
int idx = line.IndexOf(':');
if (idx > 0) // double check this line looks about right
{
data.Add(line.Substring(0, idx), line.Substring(idx + 1));
}
}
return data;
}