• Redis安装教程


    下载安装包

    Redis下载地址

    编译安装

    yum install gcc
    tar vxf redis-6.2.3.tar.gz
    cd redis-6.2.3
    make PREFIX=/usr/local/redis-6.2.3 install
    cd /usr/local/
    ln -s redis-6.2.3/ redis
    useradd redis
    su - redis
    vi .bash_profile
    --------------------------------------------
    export PATH=$PATH:/usr/local/redis/bin
    --------------------------------------------
    

    创建配置文件

    mkdir -p /usr/local/redis/config
    # 顺便创建redis日志目录
    mkdir -p /var/log/redis/
    cp /{解压安装包路径}/redis.conf /usr/local/redis/config/
    chown -R redis.redis /usr/local/redis
    chown -R redis.redis /usr/local/redis-6.2.3/
    chown -R redis.redis /var/log/redis
    su - redis
    cd /usr/local/redis/config
    cp redis.conf redis6379.conf
    

    修改配置文件

    以下只列出需要修改的参数,默认参数不再列出

    # include,可以包含其他的redis配置文件,在多实例环境下,可以将公共部分包含进来
    # include /path/to/local.conf
    # bind修改为如下,可以接受任何主机的连接,否则只能本地连接redis
    bind * -::*
    # protected-mode,默认为yes(即没有设置bind或者没有设置密码的情况下,不允许远程访问)
    # 如果设置bind(比如上面)或者设置密码了,那么此配置就失效了
    protected-mode yes
    # port redis监听端口,在安全需要或者多实例时按需修改
    port 6379
    # 是否以守护进程运行,设置为yes,redis启动后会在后台运行,即使关掉ssh,redis也不会关闭
    daemonize yes
    # pidfile,一般不需要修改
    pidfile /var/run/redis_6379.pid
    # 日志的级别,生产环境notice即可
    loglevel notice
    # redis日志的位置
    logfile “/var/log/redis/redis6379.log”
    # save和redis的rdb持久化有关,如果不设置,默认是开启的,我们可以明确配置,也可以配置save ""来关闭持久化
    # 如果在1小时内有1次或者5分钟内100次或者1分钟内10000次数据库修改,就执行持久化
    save 3600 1
    save 300 100
    save 60 10000
    # 如果rdb bgsave失败,redis是否停止接受写操作,设置为no,即不影响redis继续接受写操作
    stop-writes-on-bgsave-error no
    # rdb持久化的名称,不可以是路径
    dbfilename dump6379.rdb
    # rdb和aof持久化文件的位置
    dir /redata/
    # 设置数据库的密码
    requirepass monkey
    # 允许有多少个客户端连接
    maxclients 1000
    # 设置redis占用内存上限,单位byte
    maxmemory 3221225472
    # MAXMEMORY POLICY,到达内存上限后,redis采用的策略(如何释放内存,例如把最早的key清除等),默认是什么也不做,返回错误
    # maxmemory-policy noeviction
    # redis持久化aof,相比于rdb,消耗更少,丢失数据更少,但是持久化文件更大
    appendonly yes
    # aof文件的名称
    appendfilename "appendonly6379.aof"
    # 每秒将aof缓存区的内容刷新到硬盘中(always,只要有变动,就写入,极大影响redis性能。no,redis不管何时刷入,然系统来决定,性能计划和rdb相当,基本不影响。everysec,每秒刷入,性能和安全性的中和。
    appendfsync everysec
    # aof文件重写的触发条件,达到上次重写后aof文件的两倍或者
    # 最少到达64MB时进行重写,防止在aof文件较小时,多次被第一个条件触发重写
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    

    优化

    • 设置内核参数vm.overcommit_memory,默认是0,可能会导致bgsave失败
    vi /etc/sysctl.conf
    -------------------------
    vm.overcommit_memory = 1
    -------------------------
    sysctl -p
    
    • 关闭透明大页
    vi /etc/rc.local
    -----------------------
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    -----------------------
    # 或者
    vi /etc/default/grub
    -------------------------------------
    GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never"
    --------------------------------------
    grub2-mkconfig -o /boot/grub2/grub.cfg
    # 验证
    cat /sys/kernel/mm/transparent_hugepage/enabled
    
    • 修改监听端口的队列长度,在负载较高的服务器需要适当增加
    vi /etc/sysctl.conf
    -------------------------
    net.core.somaxconn = 2048
    -------------------------
    sysctl -p
    
    • 修改redis用户打开文件数(和maxclients参数有关,maxclients越大,打开文件数需要越大)
    vi /etc/security/limits.conf
    ------------------------------
    redis           soft    nofile          635360
    redis           hard    nofile          635360
    ------------------------------
    

    参考:CentOS 7系统Redis安装步骤

  • 相关阅读:
    Excel宏开发之合并单元格
    excel破解工作簿与工作表保护
    jquery高级编程学习
    Git 和 SVN 存储方式的差异对比
    SSH 连接时间超时
    linux 使用 Python 画图工具matplotlib 提示display 错误
    centos安装字体
    linux编译安装中configure、make和make install各自的作用
    npm run build
    centos ssh 免密码登录
  • 原文地址:https://www.cnblogs.com/monkey6/p/14764527.html
Copyright © 2020-2023  润新知