Ubuntu Server 18.04 配置 Redis 单机主从
admin
2023-05-21 09:22:31
0

【目标】

  配置 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  
# save ""
save 900 1   # 若 900 秒内有 1 个更改则将内存中的数据快照写入磁盘 
save 300 10     # 若 300 秒内有 10 个更改则将内存中的数据快照写入磁盘 
save 60 10000   # 若 60  秒内有 10000 个更改则将内存中的数据快照写入磁盘

  walker 猜想实现方式应该是时间从小到大:设置定时器监测,60 秒内有 10000 个更改则保存,300 秒内有 10 个更改则保存,900 秒内有 1 个更改则保存。


【最大内存】

# maxmemory 
# 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 ***


相关内容

热门资讯

泽连斯基签署总统令,解除多名乌... △斯特凡尼希娜(资料图)当地时间8月3日,乌克兰总统泽连斯基签署总统令,解除了乌克兰驻美国大使斯特凡...
10级美颜证件照火出圈的精神科... 极目新闻记者 王鹏近日,山西医科大学第一医院精神科医生郎小娥的证件照,因美颜效果突出火爆出圈,引发热...
全美25州提起诉讼,反对美政府... △美国白宫(资料图)央视记者当地时间8月3日获悉,法庭文件显示,美国有25个州提起诉讼,反对美政府最...
小米澎程72小时一线预售快报出... 来源:CNMO科技 【CNMO科技消息】8月3日,CNMO科技注意到,车fans创始人@孙少军发布了...
海评面:“中国商业航天正以惊人... 7月22日,引力一号遥四运载火箭在上海东部海域点火升空。(图/新华社) “中国商业航天领域正以惊人的...
第三届雷达学术前沿大会在长沙举... 中新网长沙8月2日电(王曼)8月2日,第三届雷达学术前沿大会在长沙启幕,雷达及相关领域8位院士,12...
埃及、卡塔尔和土耳其发表联合声... △加沙地带(资料图)当地时间3日,埃及、卡塔尔和土耳其三国发表联合声明,强烈谴责以色列在加沙地带持续...
鹤壁市汽车电子电气行业技术宣讲... 为助推我市汽车电子电器产业智能化、数字化和绿色化转型升级。7月30日,由市工商联、市汽车电子电器商会...
原创 i... 新一代系统陆续推出,多方面进行升级,尤其是UI设计、AI智能体、流畅度等方面,助力新一代旗舰机全面发...
国产最强AI再次选择开源!阿里... IT之家 8 月 3 日消息,阿里巴巴千问 Qwen3.8-Max 人工智能模型今日(8 月 3 日...