目录
B站视频版:
https://www.bilibili.com/video/BV15K4y1o7CM#reply4408205744
Redis的安装使用
下载安装包:
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
解压安装包:
tar –xvf redis-5.0.0.tar.gz
编译(在解压的目录中执行):
make
安装(在解压的目录中执行):
make install
创建配置文件存储目录
mkdir conf
cp redis.conf ./conf/
cd conf
cat redis.conf | grep -v '#' | grep -v '^$'
创建服务器文件存储目录(包含日志、数据、临时配置文件等)
mkdir data
创建快速访问链接
ln -s redis-5.0.0 redis
好用的复制命令
sed "s/6501/6502/g" redis-6501.conf > redis-6502.conf
Redis的主从配置
redis主节点的配置文件
port 6401
dir "/root/redis-5.0.0/data"
dbfilename "dump-6401.rdb"
redis从节点的配置文件
port 6402
dir "/root/redis-5.0.0/data"
dbfilename "dump-6402.rdb"
salveof 127.0.0.1 6401
Redis的哨兵模式配置
redis主节点的配置文件
port 6401
dir "/root/redis-5.0.0/data"
dbfilename "dump-6401.rdb"
redis从节点的配置文件
port 6402
dir "/root/redis-5.0.0/data"
dbfilename "dump-6402.rdb"
salveof 127.0.0.1 6401
sentinel节点的配置文件
port 26402
dir /redis/data
sentinel monitor mymaster 127.0.0.1 6401 2
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 20000
sentinel deny-scripts-reconfig yes
Redis的集群cluster配置
cluster节点配置
port 6501
dir /redis/data
dbfilename "dump-6501.rdb"
cluster-enabled yes
cluster-config-file "cluster-6501.conf"
cluster-node-timeout 5000
创建集群指令
redis-cli --cluster create 127.0.0.1:6501 127.0.0.1:6502 127.0.0.1:6503 127.0.0.1:6504 127.0.0.1:6505 127.0.0.1:6506 --cluster-replicas 1
查看节点信息
cluster nodes
添加master到当前集群中,连接时可以指定任意现有节点地址与端口
redis-cli --cluster add-node new-master-host:new-master-port now-host:now-port
添加slave
redis-cli --cluster add-node new-slave-host:new-slave-port master-host:master-port --cluster-slave --cluster-master-id masterid
删除节点,如果删除的节点是master,必须保障其中没有槽slot
redis-cli --cluster del-node del-slave-host:del-slave-port del-slave-id
重新分槽,分槽是从具有槽的master中划分一部分给其他master,过程中不创建新的槽
redis-cli --cluster reshard new-master-host:new-master:port --cluster-from src- master-id1, src-master-id2, src-master-idn --cluster-to target-master-id -- cluster-slots slots
redis-cli --cluster reshard 127.0.0.1:6507 --cluster-from 42f086ac4d372bc3071f5ebc74c594b66dce9ae0, b9a92df68925b5b3d8b36f8b8381f28d8fcd2a50, d36d43d918bf23cf93849e59c8d558fc2a31fee5 --cluster-to 7ce0a624d75e1d6ebeec2e193eae55c34e664632 --cluster-slots 3000
重新分配槽,从具有槽的master中分配指定数量的槽到另一个master中,常用于清空指定master中的槽
redis-cli --cluster reshard src-master-host:src-master-port --cluster-from src- master-id --cluster-to target-master-id --cluster-slots slots --cluster-yes
redis-cli --cluster reshard 127.0.0.1:6507 --cluster-from 7ce0a624d75e1d6ebeec2e193eae55c34e664632 --cluster-to 42f086ac4d372bc3071f5ebc74c594b66dce9ae0 --cluster-slots 3000