V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
zhibo2144899870
V2EX  ›  Python

# redis 主从结构集群部署

  •  
  •   zhibo2144899870 · 2018-08-31 11:46:12 +08:00 · 1220 次点击
    这是一个创建于 2057 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ## 前期准备

    ### 安装 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.如果返回值没有问题,说明配置成功.
    2 条回复    2018-09-05 21:56:05 +08:00
    xiaoheijw
        1
    xiaoheijw  
       2018-08-31 12:19:27 +08:00
    md 都还生效,然后你写的东西是给自己看的吧?
    Qzier
        2
    Qzier  
       2018-09-05 21:56:05 +08:00 via iPhone
    刷存在感?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5921 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 06:18 · PVG 14:18 · LAX 23:18 · JFK 02:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.