我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Ubuntu Server 18.04 配置 Redis 单机主从

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Ubuntu Server 18.04 配置 Redis 单机主从

【目标】

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


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Ubuntu Server 18.04 配置 Redis 单机主从

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Redis server 主从复制配置实现

Redis主从复制是一种数据复制机制,确保数据高可用性和易扩展性。配置主服务器涉及设置IP地址、端口和密码。配置从服务器需要指定主服务器信息、只读模式和复制积压。高级选项包括控制复制积压大小、空闲超时和写操作限制。最佳实践包括使用多个从服务器、监控复制积压、进行故障转移演练以及利用RedisSentinel进行自动化管理。
Redis server 主从复制配置实现
2024-04-02

编程热搜

目录