redis集群配置

backup

RDB

将 Redis 数据库的快照保存到磁盘文件中来实现

AOF

每个写操作追加到一个文件中。通过重放这些写操作,可以完全恢复数据集的状态

混合备份

同时使用 RDB 和 AOF 备份

init

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh

arr=($(kubectl get pods -l app=redis -o jsonpath='{range.items[*]}{.status.podIP}:6379 '))
echo ${arr[@]}

master=$(echo ${arr[@]}|awk '{print $1" "$2" "$3}')
echo "指定主节点:$master"
echo "yes" | kubectl exec -it redis-app-2 -- redis-cli --cluster create $master

for i in $(seq 3 +1 5); do
echo "添加从节点:"${arr[i]} ${arr[0]}
echo "yes" | kubectl exec -it redis-app-2 -- redis-cli --cluster add-node ${arr[i]} ${arr[0]} --cluster-slave
done

====echo ${arr[@]}|tr -s ‘ ‘|cut -d’ ‘ -f2
==tr
-s 即将重复出现字符串,只保留第一个
==cut
-d 以什么为分割符
-f 第几个
组合等于 awk ‘{print $2}’

=====jsonpath=’{range.items[:3]}{.status.podIP}:6379 ‘
items[:3] 取前3
=====jsonpath=”{range.items[$i,0]}{.status.podIP}:6379 “
双引号传变量

故障

内存问题

设置合理的maxmemory参数

配置合适的数据淘汰策略 LRU(Least Recently Used,最近最少使用)

网络问题

设置超时时间

大key问题

主备切换

业务重试机制

某些慢查询导致time out。执行slowlog查看慢查询语句

连接数 tcp连接:netstat -nat|grep -i “6379”|wc -l

无法获取连接 设置timeout和tcp-keepalive来清理失效的连接

点击打赏
文章目录
  1. 1. backup
    1. 1.1. RDB
    2. 1.2. AOF
    3. 1.3. 混合备份
  2. 2. init
  3. 3. 故障
    1. 3.1. 内存问题
    2. 3.2. 网络问题
载入天数...载入时分秒... ,