获取指定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 可以用于获取节点属性.样式.在界面上的位置等信息. 最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置. 示例代码: ...
随机推荐
- 【原创】(二)Linux进程调度器-CPU负载
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- Android Studio 学习笔记(二):布局简介和xmlns说明
初学Android Studio,是在b站看的教程视频,这里的笔记也是以其为基础的,个人强烈安利: [天哥]Android开发视频教程最新版 Android Studio开发 Android 布局简介 ...
- Gorm与数据库(单复数)表结构之间的映射
Gorm连接MySQL: import ( _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm" ...
- python学习(9)字典的基本应用
字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字.字符串.元组,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型.字典可以理解为列表的升级版. dict是无序的 key ...
- NR / 5G - Polar Coding
5G New Radio Polar Coding Introduction The selection of polar codes as the channel coding technique ...
- DOM - Document Object Model
Document Object Model
- Linux下安装 php imagick扩展
今天小编 由于工作需求用到了 imagick 这个扩展 服务器环境是 lnmp 架构下面稍微来介绍下 这个 东东 imagick是一个PHP的扩展,用ImageMagick提供的API来进行图片的创 ...
- 使用github--stanfordnlp--glove训练自己的数据词向量
1.准备语料 准备好自己的语料,保存为txt,每行一个句子或一段话,注意要分好词.将分好词的语料保存为×××.txt 2.准备源码 下载地址:https://github.com/stanfordnl ...
- tomcat 安装在 linux
简单说下什么是tomcat?它与apache web服务器的关系? Apache是web服务器(静态解析,如HTML),tomcat是java应用服务器(动态解析,如JSP.PHP) Tomcat只是 ...
- Java也疯狂-分享利用ffmpeg做视频转换的工具
朋友需要经常将视频统一转换为mp4格式,市面上的工具很多,但是转换的体积.自动化程度等都不好,于是花了一个小时给朋友写了个给予ffmpeg的批量转换工具,功能简单但是很实用,也正好给学习Java的同学 ...