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


相关内容

热门资讯

宇通4款高端车型亮相米兰交通运... 近日,2026米兰交通运输展览会(NME)在意大利米兰国际展览中心拉开帷幕。在这场汇聚全球目光的行业...
伊朗已逮捕6500多名间谍及通... 据伊朗迈赫尔通讯社18日报道,伊朗治安部队司令艾哈迈德-礼萨·拉丹说,自2月底美国和以色列对伊朗发动...
男子与13岁智力缺陷少女发生性... 澎湃新闻记者 刘璐男子与13岁智力缺陷少女发生性关系,犯强奸罪被判刑。5月18日,最高检联合中国残联...
屋里墙面潮湿起皮脱落怎么处理 1、倘若轻微掉皮先把掉皮位置铲除干净,其次把墙面清理干净,并且用砂纸把墙面打磨平整,然后涂刷一遍防水...
墙面乳胶漆出现起皮和脱落现象怎... 1、如果墙面属于大面积的起皮脱落,就应当将开裂的基层裂缝凿成一个平整的斜面并进行打磨,同时还要对其进...
油漆起皮脱落怎么处理 1、对于起皮脱落的漆面,先把脱落部分用油灰刀刮掉,再使用纤维素腻子把不平和坑凹之处补平,干燥之后用砂...
原乳胶漆墙面可以直接批腻子刷漆... 原乳胶漆墙面可以直接批腻子刷漆吗 ?1、不可以直接在乳胶漆上批刮腻子,因为乳胶漆的表面十分光滑,会...
冰箱启动器坏了的表现 1、冰箱里的温度会出现明显下降的情况,而且冰箱温度也会受到一定影响,可以通过观察蒸发器结冰的情况来判...
伊朗外交部:仍有多名伊朗国足成... △伊朗外交部发言人巴加埃(资料图)当地时间5月18日,伊朗外交部发言人巴加埃在外交部记者会上表示,根...
宇威E8PRO正式发布!202... 5月13日,以“安全公交智选宇通”为主题的2026公共交通美好中国行在海南启幕。活动现场,宇通新一代...