需要:昨晚学习了cluster slots命令,之前写的脚本,有可以换种方法获取到redis cluster slots 分布情况. cluster slots的结果如下: 4 5460 5.5.5.102 29001 eb7dfedad330c2421ed04321ca24c33ebcadb1a9 5.5.5.101 29001 6ecf0faaedafcf2e4b14c221721d3b279f2c5748 1 3 5.5.5.101 29003 7c79008aac1a2b1aa3f64e…
条条大路通罗马,通过最近学习redis cluster 观察其输出,发现了另外一种获取master-slave关系的方法. [redis@lxd-vm1 ~]$ cat get_master_slave2.sh redis -a abc123 -c cluster nodes > cluster_nodes.txt echo "master to slave info..." cat cluster_nodes.txt | awk '/master/{print $1,$2}'…
需求:使用cluster slots命令,获取redis cluster 主从对应关系. 说明:cluster slots命令对应的字段说明:http://redis.cn/commands/cluster-slots.html redis-cli -h -c cluster slots | xargs -n8 | awk '{print $3":"$4"->"$6":"$7}' | sort -nk2 -t ':' | uniq 测试结果…
需求:获取redis cluster集群中所有节点的内存使用情况. ip_port=`redis-cli -h $ -p $ -a abc123 -c cluster nodes | awk '{print $2}' | awk -F'@' '{print $1}'` for i in $ip_port do redis_ip=`echo $i | awk -F':' '{print $1}'|sed 's/\r//g'` redis_port=`echo $i | awk -F':' '{pr…
需求:还是redis-trib.rb脚本获取的信息不足或者太繁杂,这里给出更加直观的一种方法, 说明:已在4.x版本测试通过,3.x不可用. 原生的输出 (1adfa7f3...) keys slots slaves. (32fc101a...) keys slots slaves. (76a8592d...) keys slots slaves. (31ba5414...) keys slots slaves. keys masters. 1.03 keys per slot on avera…
Redis 集群并没有使用一致性hash,而是引入了哈希槽的概念. Redis 集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽,集群的每个节点负责一部分hash槽. redis cluster集群通过分片的方式来保存数据库中键值对:集群的整个数据库被分为16384个槽(slot), 数据库中的每个键都属于这16384个槽的其中一个,集群中的每个节点可以处理0个或者最多16384个槽 当数据库中的16384个槽都有节点在处理时,集群处于上线状态(ok):相…
需求:原生的redis-trib.rb功能是强大,但输出的内容过于繁杂,比如我需要关注哪些master对应哪些slots,不是很直观,如果集群的规模更大的话,那么输出的结果获取信息更加困难. 说明:这里给出一种方法,是在4.0.10版上测试的 ,3.X版本分隔符不一样,这里不进一步说明. 原生的输出 ) M: 1adfa7f3e80c47d5bd3072e9d07c1b2bcc8ef4a1 slots:,,,, ( slots) master additional replica(s) S: 6…
获取本机私网地址(1个) #!/bin/bash # Author : standby # Date : -- # Description : Get private ip address of local machine. arr=(`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`) #private_ip=${arr[]} private_ip='…
kubernetes部署单节点redis: https://www.cnblogs.com/zisefeizhu/p/14282299.html Redis 介绍 • Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理.它可以存储和操作高级数据类型,例如列表,地图,集合和排序集合. • 由于Redis接受多种格式的密钥,因此可以在服务器上执行操作,从而减少了客户端的工作量. • 它仅将磁盘用于持久性,而将数据完全保存在内存中.…
一.Redis 介绍 Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理.它可以存储和操作高级数据类型,例如列表,地图,集合和排序集合. 由于Redis接受多种格式的密钥,因此可以在服务器上执行操作,从而减少了客户端的工作量. 它仅将磁盘用于持久性,而将数据完全保存在内存中. Redis是一种流行的数据存储解决方案,并被GitHub,Pinterest,Snapchat,Twitter,StackOverflow,Flickr…