# redis 主从结构集群部署

2018-08-31 11:46:12 +08:00
 zhibo2144899870
## 前期准备

### 安装 redis(可以跳过)

参考[oneinstack 安装]( https://oneinstack.com/install/),只安装 redis 即可,选择性安装.将所有需要部署 redis 的服务器都装上 redis

## 主服务器部署

编辑 `/usr/local/redis/etc/redis.conf`,根据实际情况修改以下项

```
daemonize yes //守护进程
pidfile "/var/run/redis.conf.pid" //pid 路径
port 6379 //监听端口
bind 0.0.0.0 //绑定地址
timeout 300 //超时时间
loglevel notice //日志级别
logfile "/data/redis/redis-server.log" //日志路径
databases 16 //实例个数
save 900 1 //900 秒有 1 个变化写磁盘
save 300 10 //300 秒有 10 个变化写磁盘
save 60 10000 //60 秒有 10000 个变化写磁盘
rdbcompression yes //支持 RDB 压缩
dbfilename "dump.rdb" //DB 文件名
dir "/data/redis/lib" //RDB 路径
slave-serve-stale-data yes //如果 slave-serve-stale-data 设置成 'yes' (the default) slave 会仍然响应客户端请求,此时可能会有问题。
appendonly no //AOF 关闭
appendfsync everysec //每秒进行一次写磁盘
no-appendfsync-on-rewrite no //append only 文件的自动重写, 当 AOF 日志文件即将增长到指定百分比时,Redis 可以通过调用 BGREWRITEAOF 来自动重写 append only 文件。
list-max-ziplist-entries 512
list-max-ziplist-value 64 //如果 set 中整型元素的数量不超过 512 时,Redis 将会采用该特殊编码
set-max-intset-entries 512
activerehashing yes //指定是否激活重置哈希,默认为开启
masterauth tieweishivps //认证密码
requirepass tieweishivps
```

## 从服务器部署

编辑 `/usr/local/redis/etc/redis.conf`,根据实际情况修改以下项

```
daemonize yes //守护进程
pidfile "/var/run/redis.conf.pid" //pid 路径
port 6379 //监听端口
bind 0.0.0.0 //绑定地址
timeout 300 //超时时间
loglevel notice //日志级别
logfile "/data/redis/redis-server.log" //日志路径
databases 16 //实例个数
save 900 1 //900 秒有 1 个变化写磁盘
save 300 10 //300 秒有 10 个变化写磁盘
save 60 10000 //60 秒有 10000 个变化写磁盘
rdbcompression yes //支持 RDB 压缩
dbfilename "dump.rdb" //DB 文件名
dir "/data/redis/lib" //RDB 路径
slave-serve-stale-data yes //如果 slave-serve-stale-data 设置成 'yes' (the default) slave 会仍然响应客户端请求,此时可能会有问题。
appendonly no //AOF 关闭
appendfsync everysec //每秒进行一次写磁盘
no-appendfsync-on-rewrite no //append only 文件的自动重写, 当 AOF 日志文件即将增长到指定百分比时,Redis 可以通过调用 BGREWRITEAOF 来自动重写 append only 文件。
list-max-ziplist-entries 512
list-max-ziplist-value 64 //如果 set 中整型元素的数量不超过 512 时,Redis 将会采用该特殊编码
set-max-intset-entries 512
activerehashing yes //指定是否激活重置哈希,默认为开启
masterauth tieweishivps //认证密码
requirepass tieweishivps
```

最后再 redis.conf 文件最下面添加一行配置

```
slaveof 主服务器 ip 地址 主服务器端口
```

## 测试

配置完成后,启动主服务器,然后再启动从服务器.然后在主服务器执行写入语句.

```
set name "123"
```

主服务器查看写入情况

```
get name
```

然后再从服务器查看写入情况

```
get name
```

二者的返回值都应该是 123.如果返回值没有问题,说明配置成功.
1226 次点击
所在节点    Python
2 条回复
xiaoheijw
2018-08-31 12:19:27 +08:00
md 都还生效,然后你写的东西是给自己看的吧?
Qzier
2018-09-05 21:56:05 +08:00
刷存在感?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/484858

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX