Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Turbo码先生
redis
提交
d3f7fbfc
R
redis
项目概览
Turbo码先生
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d3f7fbfc
编写于
9月 28, 2011
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
initial node loading info code for redis-trib
上级
1ef8b0a9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
37 addition
and
0 deletion
+37
-0
src/redis-trib.rb
src/redis-trib.rb
+37
-0
未找到文件。
src/redis-trib.rb
浏览文件 @
d3f7fbfc
...
...
@@ -22,6 +22,8 @@ class ClusterNode
@port
=
s
[
1
]
@slots
=
{}
@dirty
=
false
@info
=
nil
@friends
=
[]
end
def
to_s
...
...
@@ -29,6 +31,7 @@ class ClusterNode
end
def
connect
(
o
=
{})
return
if
@r
xputs
"Connecting to node
#{
self
}
: "
begin
@r
=
Redis
.
new
(
:host
=>
@host
,
:port
=>
@port
)
...
...
@@ -58,6 +61,39 @@ class ClusterNode
end
end
def
load_info
(
o
=
{})
self
.
connect
nodes
=
@r
.
cluster
(
"nodes"
).
split
(
"
\n
"
)
nodes
.
each
{
|
n
|
# name addr flags role ping_sent ping_recv link_status slots
name
,
addr
,
flags
,
role
,
ping_sent
,
ping_recv
,
link_status
,
slots
=
n
.
split
(
" "
)
info
=
{
:name
=>
name
,
:addr
=>
addr
,
:flags
=>
flags
.
split
(
","
),
:role
=>
role
,
:ping_sent
=>
ping_sent
.
to_i
,
:ping_recv
=>
ping_recv
.
to_i
,
:link_status
=>
link_status
}
if
info
[
:flags
].
index
(
"myself"
)
@info
=
info
@slots
=
{}
slots
.
split
(
","
).
each
{
|
s
|
if
s
.
index
(
"-"
)
start
,
stop
=
s
.
split
(
"-"
)
self
.
add_slots
((
start
.
to_i
)
..
(
stop
.
to_i
))
else
self
.
add_slots
((
s
.
to_i
)
..
(
s
.
to_i
))
end
}
@dirty
=
false
elsif
o
[
:getfriends
]
@friends
<<
info
end
}
end
def
add_slots
(
slots
)
slots
.
each
{
|
s
|
@slots
[
s
]
=
:new
...
...
@@ -205,6 +241,7 @@ class RedisTrib
node
=
ClusterNode
.
new
(
ARGV
[
1
])
node
.
connect
(
:abort
=>
true
)
node
.
assert_cluster
node
.
load_info
add_node
(
node
)
check_cluster
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录