您好,登錄后才能下訂單哦!
【目標】
配置 redis 單機主從,6378 端口連接 master,6379 端口連接 slave,master 可讀寫,slave 只讀。
【安裝及測試】
安裝
sudo?apt?update sudo?apt?install?redis
測試(以下為正常)
walker@Ubuntu:~$?redis-cli 127.0.0.1:6379>?ping PONG
使用 systemctl 管理 redis
#?查看狀態 $?systemctl?status?redis #?啟動redis $?systemctl?start?redis #重啟redis $?systemctl?restart?redis #?停止redis $?systemctl?stop?redis #?將?redis?服務加入開機啟動 $?systemctl?enable?redis #?禁止開機啟動 $?systemctl?disable?redis
【配置單機主從】
創建目錄并拷貝配置文件
mkdir?-p??/data/redis/{6378-master,6379-slave}/{conf,db,log} cp?/etc/redis/redis.conf?/data/redis/6378-master/conf/ cp?/etc/redis/redis.conf?/data/redis/6379-slave/conf/
編輯?/data/redis/6378-master/conf/redis.conf 文件,修改或添加如下內容
daemonize?yes? pidfile?/data/redis/6378-master/redis.pid? bind?0.0.0.0 port?6378? logfile?/data/redis/6378-master/log/redis.log dir?/data/redis/6378-master/db/
編輯?/data/redis/6379-slave/conf/redis.conf 文件,修改或添加如下內容
daemonize?yes? pidfile?/data/redis/6379-slave/redis.pid? bind?0.0.0.0 port?6379? logfile?/data/redis/6379-slave/log/redis.log dir?/data/redis/6379-slave/db/? slaveof?127.0.0.1?6378
關閉并禁用系統 redis
sudo?systemctl?stop?redis sudo?systemctl?disable?redis
啟動 redis 實例
sudo?redis-server?/data/redis/6378-master/conf/redis.conf????#?啟動?master sudo?redis-server?/data/redis/6379-slave/conf/redis.conf????#?啟動?slave
查看實例啟動情況
#?ps?aux?|?grep?redis root??6069??0.0??0.1??50148??3952???????????Ssl??03:15 0:00?redis-server?0.0.0.0:6378 root??6451??0.0??0.0??50148??3852???????????Ssl??03:27 0:00?redis-server?0.0.0.0:6379 root??6457??0.0??0.0??13136??1084??pts/0????S+???03:28 0:00?grep?--color=auto?redis
關閉實例
redis-cli?-h?127.0.0.1?-p?6378?shutdown????#?關閉?master redis-cli?-h?127.0.0.1?-p?6379?shutdown????#?關閉?slave
【持久化】
默認已啟用了 rdb 方式的持久化。(/data/redis/6378-master/conf/redis.conf)
#?save?<seconds>?<changes> #?save?"" save?900?1???#?若?900?秒內有?1?個更改則將內存中的數據快照寫入磁盤? save?300?10?????#?若?300?秒內有?10?個更改則將內存中的數據快照寫入磁盤? save?60?10000???#?若?60??秒內有?10000?個更改則將內存中的數據快照寫入磁盤
walker 猜想實現方式應該是時間從小到大:設置定時器監測,60 秒內有 10000 個更改則保存,300 秒內有 10 個更改則保存,900 秒內有 1 個更改則保存。
【最大內存】
#?maxmemory?<bytes> #?1G maxmemory?1073741824
【查看版本】
#?redis-server?-v? Redis?server?v=4.0.9?sha=00000000:0?malloc=jemalloc-3.6.0?bits=64?build=1bc80a08306a3efd
【查看配置】
$redis-cli?-h?127.0.0.1?-p?6378?-a?"mypass" 127.0.0.1:6378>?info
【配置開機啟動】
參考:ubuntu-18.04 設置開機啟動腳本
創建文件:/etc/systemd/system/rc-local.service
在?rc-local.service 里面添加如下內容
[Unit] Description=/etc/rc.local?Compatibility ConditionPathExists=/etc/rc.local After=network.target [Service] Type=forking ExecStart=/etc/rc.local?start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
創建文件:/etc/rc.local
在 rc.local 里面添加如下內容
#!/bin/bash redis-server?/data/redis/6378-master/conf/redis.conf redis-server?/data/redis/6379-slave/conf/redis.conf /home/walker/Python3Project/proxy_gather/start.sh exit?0
給 rc.local 添加可執行權限
sudo?chmod?754?/etc/rc.local
啟用服務(開機自啟動)
sudo?systemctl?enable?rc-local #?等價于 ln?-s?/etc/systemd/system/rc-local.service?/etc/systemd/system/multi-user.target.wants/
啟動服務并檢查狀態
sudo?systemctl?start?rc-local.service sudo?systemctl?status?rc-local.service
重啟服務器檢查是否能夠開機啟動
*** walker ***
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。