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出錯,用以下命令可以恢復