Redis主从复制读写分离
添加成slave机:启动服务程序时加参数
也可以把上述参数加入到配置文件,.conf
启动时代上配置文件即可。
master、slave机查看主从复制信息:
info replication
slave机只能get,不能set
slave机退出主从机制:
slaveof no one
python redis.exceptions.ConnectionError: Error 10060 connecting
因为防火墙的原因:暴力方法:systemctl stop firewalld
也可以:创建一个redis.service服务,Redis配置成系统服务。
配置Redis:
创建Redis配置目录 /etc/redis:
$ sudo mkdir /etc/redis
拷贝配置文件:
$ sudo cp /tmp/redis-stable/redis.conf /etc/redis
编辑配置文件:
$ sudo vim /etc/redis/redis.conf
找到supervised一行,把no改为systemd:
supervised systemd
找到dir一行,配置数据库的保存目录:
dir /var/lib/redis
创建redis.service文件:其实完全可以复制一份其他服务的.service文件,改就行。以下内容反而可能出错。
$ sudo vim /etc/systemd/system/redis.service
写入如下内容:
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
保存退出文件。
创建redis用户、组和目录:
创建redis用户和组:
$ sudo adduser --system --group --no-create-home redis
创建数据库目录,对应上面的配置:
$ sudo mkdir /var/lib/redis
$ sudo chown redis:redis /var/lib/redis
$ sudo chmod 770 /var/lib/redis
firewall-cmd --permanent --add-service=redis
firewall-cmd --reload
利用这条命令可以检查修复rdb文件
以上开启了一种aof的方式:
--appendonly 会把命令记录下来
将来用这些命令恢复数据
如果appendonly.aof出错,用以下命令可以恢复