获取指定key对应的node节点信息
需求:之前写的脚本(https://www.cnblogs.com/imdba/p/10197192.html),每个node上都只有一个slot段范围的情况,本次通过测试,实现了,任意段范围的获取方法。
key_slot=`redis-cli -h 5.5.5.101 -p -a abc123 -c cluster keyslot $` node_slot=`sh get_slot_range2.sh 5.5.5.101 ` find_tag=
for i in $node_slot
do
node_ip=`echo $i | awk -F '[|]' '{print $1}'`
range_count=`echo $i | awk -F '[|]' '{print NF}'`
for (( rc=;rc<=$range_count;rc++ ))
do
start_slot=`echo $i | awk -F '[|]' '{print $'$rc'}' | awk -F '[-]' '{print $1}'`
end_slot=`echo $i | awk -F '[|]' '{print $'$rc'}' | awk -F '[-]' '{print $2}'`
for(( j=$start_slot;j<=$end_slot;j++ ))
do
if [[ $j == $key_slot ]];then
echo $node_ip
find_tag=1
fi
done
if [[ $find_tag == 1 ]];then
break
fi
done
done 说明:get_slot_range2.sh,具体可以参考https://www.cnblogs.com/imdba/p/10115358.html
redis-cli -h $ -p $ -c cluster nodes |grep master > ./all
cat all | awk '{print $2}' | awk '$1 ~/@.*/{gsub("@.*","",$1);print $0}' >
cat all | awk -F " " '{for (i=9;i<=NF;i++)printf("%s", "|"$i);print ""}' >
paste -d "|" > 2_9.txt
cat 2_9.txt
key_slot=`redis-cli -h 5.5.5.101 -p -a abc123 -c cluster keyslot $` node_slot=`sh get_slot_range2.sh 5.5.5.101 ` find_tag=
for i in $node_slot
do
node_ip=`echo $i | awk -F '[|]' '{print $1}'`
range_count=`echo $i | awk -F '[|]' '{print NF}'`
for (( rc=;rc<=$range_count;rc++ ))
do
start_slot=`echo $i | awk -F '[|]' '{print $'$rc'}' | awk -F '[-]' '{print $1}'`
end_slot=`echo $i | awk -F '[|]' '{print $'$rc'}' | awk -F '[-]' '{print $2}'`
[ $key_slot -gt $start_slot -a $key_slot -le $end_slot ] && echo $node_ip
done
done #感谢浩神,上面标红的可以直接用一个判断获取,不需要循环。
获取指定key对应的node节点信息的更多相关文章
- 如何从二维数组中的多个key中获取指定key的值?
精华 LOVEME96 2016-10-21 10:40:19 浏览(1512) 回答(3) 赞(0) 新手求教:二维数组中一般会有多个key,如果我们要获得指定key的值,应该怎么做? 问题标签: ...
- oracle数据库获取指定表的列的相关信息
1.很多时候我们需要从数据库中获取指定表的所有列的相关属性,如 name,commens,datatype,datalength,pk等.下面就是制定的语句. select c.TABLE_NAME ...
- Hbase rest方式获取指定key范围内的值
代码如下: <?php class Monitor_Hbase{ private $rest_host = "http://10.99.90.39:8130/";//rest ...
- wordpress 获取指定作者的所有 post meta
$args = array( 'post_type' => array( 'post','knowledgebase'), 'post_status' => 'publish', 'aut ...
- 任意指定一个key获取该key所处在哪个node节点
需求:任意指定一个key获取该key所处在哪个node节点上. 说明:redis自带的命令可以知道一个key所属的slot,可以知道node master对应哪些slot,但没有key和node的对应 ...
- 获取BT节点信息bittorrent-discovery
获取BT节点信息bittorrent-discovery BT/磁力都是常见的P2P下载方式.用户作为一个节点node从其他用户node或者peer获取文件数据,以完成下载.bittorren-d ...
- 从UEditor内容中获取指定节点值(转)
今天吐槽一下百度的富文本编辑器UEditor,这种富文本编辑器极大地方便我们上传文件,开发人员无需编写任何上传代码,只需配置几个路径即可.但高度集成的东西有时也显得笨重,灵活度不高.比如:编辑器中我既 ...
- Selenium 获取节点信息
Selenium 可以通过 find_element() 找到指定的节点,Selenium 也提供了相关的方法和属性来直接提取节点信息,如属性.文本等 from selenium import web ...
- 小程序框架之视图层 View~获取界面节点信息
获取界面上的节点信息 WXML节点信息 节点信息查询 API 可以用于获取节点属性.样式.在界面上的位置等信息. 最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置. 示例代码: ...
随机推荐
- HDU 1251 统计难题 (Trie树模板题)
题目链接:点击打开链接 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单 ...
- OpenCV3入门(八)图像边缘检测
1.边缘检测基础 图像的边缘是图像的基本特征,边缘点是灰度阶跃变化的像素点,即灰度值的导数较大或极大的地方,边缘检测是图像识别的第一步.用图像的一阶微分和二阶微分来增强图像的灰度跳变,而边缘也就是灰度 ...
- Netty学习(2):IO模型之NIO初探
NIO 概述 前面说到 BIO 有着创建线程多,阻塞 CPU 等问题,因此为解决 BIO 的问题,NIO 作为同步非阻塞 IO模型,随 JDK1.4 而出生了. 在前面我们反复说过4个概念:同步.异步 ...
- js发展历史与基础
最早的浏览器是WWW浏览器 Mosaic浏览器是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器,于1993年问世 浏览器组成部分: 1)shell部分(外壳) 2)内核部分 ① 渲染引擎(语法 ...
- 四步搞定Zabbix 日志文件监控
Zabbix 日志文件监控 一.给运行Zabbix agent的用户授予要监控日志的读取权限. 1. 執行下面的命令,追加app的可讀權限: setfacl -m u:app:r-- /var/log ...
- Ant Design Vue Pro 项目实战-项目初始化(一)
写在前面 时间真快,转眼又是新的一年.随着前后端技术的不断更新迭代,尤其是前端,在目前前后端分离开发模式这样的一个大环境下,交互性.兼容性等传统的开发模式已经显得有些吃力.之前一直用的是react,随 ...
- SpringBoot图文教程5—SpringBoot 中使用Aop
有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 文章结尾配套自测面试题,学完技术自我测试更扎实 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例 ...
- 非对称加密 秘钥登录 https
非对称加密简介: 对称加密算法在加密和解密时使用的是同一个秘钥:而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)私有密钥(private key,简 ...
- centos7利用系统镜像修复grub
1 故障描述 由于错误操作,导致grub配置文件失效,系统开机后一直卡在下面的画面. 2 解决办法 这时候,就要利用系统镜像光盘,进入修复模式,然后按下面图示操作 进入镜像的shell环境,如下图所示 ...
- vertical-align和line-height的理解及实例
line-height 字符实际大小和font-size的关系: 下图中不同字体font-size都是100px 测量了一下每个 span 的高度:Helvetica 115px,Gruppo 97p ...