随笔分类 - Redis
摘要:本示例使用企业微信的机器人进行告警,可以根据实际情况选择,比如钉钉群组机器人 #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin export PATH rm -rf redis_mem.log #
阅读全文
摘要:sentinel monitor mymaster2 192.168.100.5 28001 2sentinel set mymaster2 client-reconfig-script /etc/redis/reconfig.shsentinel flushconfig role命令查看senti
阅读全文
摘要:新增功能: 1、特殊环境下部署,添加针对少于3台(0台,1台,2台)机器的时候的提示,规划和部署。 2、添加集群初始端口和集群规模的默认值。 #!/bin/bash #集群初始端口,递增1 port=${2:-'6379'} #集群的master个数 cluster_size=${3:-'3'} i
阅读全文
摘要:由于某种原因,需要把A环境的某个db的key同步到B环境,同步规则如下: 1、如果目标端不存在这个key,则进行从A导入到B环境。 2、如果目标端已存在同名的key,则将对应的key记录到文件。 PS: 相关IP等 已脱敏处理。 #!/bin/bash src_ip=192.168.1.1 src_
阅读全文
摘要:由于历史原因,需要将一批key做判断后进行调整,规则如下: 1、如果源端的成绩大于目标端的,那么将源和目标的对应hash的字段相加,更新到目标端。 2、如果源端的成绩小于目标端的,那么将这些key记录下来,提供业务进行手动检查处理。 3、如果源端成绩和目标端相等,那么记录这些key,不做任何其他处理
阅读全文
摘要:需求: 由于redis上云,需要统计一批主机上面的主机内存和redis实例内存使用情况。 #!/bin/bash rm -rf redis_mem.log ps -ef |grep redis-server |grep -v grep | awk '$NF~/cluster/{print $(NF-
阅读全文
摘要:需求: 指定一批ip列表,生成指定规模大小的redis cluster主从对应关系。 测试结果
阅读全文
摘要:需求:给点一批ip列表,一个数组或者一个文件,每行一个ip,模拟输出redis cluster的组从关系,前者是master_ip:master_port -> slave_ip:slave_port 为后续自动生成主从的配对关系做准备。 数组方式实现: 文件方式实现: cat >b<<EOF1.1
阅读全文
摘要:redis是一个单线模型的nosql类型的数据库,而目前接触到的服务器大都是多核的,比如8c,16c,32c,64c等等。为了充分利用主机,在一台主机上必然会部署多个redis实例,默认情况cpu会随机选择,但经过观察自动选择的时候很大情况下会选择同一逻辑cpu,这样导致cpu使用不均衡,撑得死了,
阅读全文
摘要:需求:模拟redis-trib.rb info ip:port输出的结果 如: 通过shell脚本实现类似的: 测试结果
阅读全文
摘要:需要:昨晚学习了cluster slots命令,之前写的脚本,有可以换种方法获取到redis cluster slots 分布情况。 cluster slots的结果如下: 获取redis cluster slots分布的小脚本 脚本说明: 第1行获取到结果如下: 5.5.5.102:29001 4
阅读全文
摘要:需求:使用cluster slots命令,获取redis cluster 主从对应关系。 说明:cluster slots命令对应的字段说明:http://redis.cn/commands/cluster-slots.html 测试结果:
阅读全文
摘要:需求:编写脚本实现对redis cluster 主从是否发生主从切换进行监控,若发生切换,输出切换前后主从对应关系。 初始化对比文件,仅执行一次,后续不需要在执行,除非该文件不存在。 判断是否发生切换,如果发生,输出切换前后的对应关系 测试过程: 测试结果
阅读全文
摘要:需求:输出redis cluster 主从的对应关系,如果同一个主从关系的master和slave在同一个node节点上,在输出的对应关系末尾输出提示。 为什么会有这样的需求呢?在重新搭建redis cluster的时候,创建集群期间,发现: redis-trib.rb create --repli
阅读全文
摘要:需要:实现类似redis-trib.rb call 命令的功能,输出redis cluster集群所有节点指定的参数的配置 redis-trib.rb的输出 编写脚本 在后续学习awk命令中,遇到了getline命令,发现可以用一行命令替代上面红色字体的3条语句。 可以作为奇数行和偶数行两两配对一种
阅读全文
摘要:需求:获取redis cluster集群中所有节点的内存使用情况。 测试:
阅读全文
摘要:需求:之前写的脚本(https://www.cnblogs.com/imdba/p/10197192.html),每个node上都只有一个slot段范围的情况,本次通过测试,实现了,任意段范围的获取方法。
阅读全文
摘要:需求:任意指定一个key获取该key所处在哪个node节点上。 说明:redis自带的命令可以知道一个key所属的slot,可以知道node master对应哪些slot,但没有key和node的对应关系,使用该脚本,再也不需要猜了,可以在规划key的时候参考一下。 测试
阅读全文
摘要:需求:之前写的脚本获取redis 最大的top-n的bigkeys,没有区分数据类型,如果要针对每个数据类型的前top-n的bigkeys获取呢? 测试结果:
阅读全文
摘要:需求:获取redis实例中最大的top-N key 说明:由于redis 4.x才引入了memory usage keyname的语法。3.x不支持! db_ip=5.5.5.101db_port=6379password=abc123cursor=0cnt=100new_cursor=0 func
阅读全文

浙公网安备 33010602011771号