• centos7.2安装redis与配置(史上最全)


    学习了php已经快三年了,一直是在盲目的忙,也没整理下笔记,今天整理一下

    分享下安装redis的方法

    #首先去redis官网去下载   http://www.redis.cn/download.html

    我选择的5.0

    下载原码进行编译

    wget http://download.redis.io/releases/redis-5.0.0.tar.gz

     

    tar xzf redis-5.0.0.tar.gz 

     

    cd redis-5.0.0/

     

    进行编译

     

    yum -y install gcc gcc-c++ kernel-devel  

     

    make

     

    安装

    make PREFIX=/usr/local/redis install

     

    mkdir /usr/local/redis/etc/

     

    cp redis.conf /usr/local/redis/etc/

     

    cd /usr/local/redis/bin/

     

    cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server  /usr/bin/

     

    #修改配置

    vim /usr/local/redis/etc/redis.conf

     

    网络配置

    1) bind 127.0.0.1

    #<==绑定服务器的IP地址,强烈建议修改为服务器的对外IP,如192.168.1.10

    2)protected-model yes

    #<==启用保护模式,在没有配置bind地址和密码的时候,只允许127.0.0.1和::1,或者是unix的socket来连接

    3)port 6379

    #<==redis接收连接的端口,默认为6379

    4)tcp-backlog 511

    #<==tcp监听的积压,在高频率环境中需要高积压来避免客户端的慢访问问题。

    5)timeout 0

    #<==客户端空闲N秒后关闭连接(0表示禁用)

    6)tcp-keepalive 300

    #<==tcp检测存活的时间间隔

    一般配置

     

    7) daemonize no

    #<==是否是启动后台运行模式,默认为no,强烈建议设置为yes

    8)supervised no

    #<==通过upstart和systemd启动redis时的监督策略,0表示禁止

    9)pidfile /var/run/redis_6379.pid

    #<==deamon模式运行时的PID存放文件

    10)loglevel notice

    #<==打印日志级别,分别为debug、verbose、notice、warning

     11)logfile /var/log/redis/redis.log

    #<==指定日志文件名称

    12)databases 16

    #<==设置数据库数量,默认数据库为DB0,0-15,共16个,可以使用select dbid选择数据库

    快照配置

    13) save 900 1

    14) save 300 10

    15)  save 60 10000

    #<==设置数据保存到硬盘RDB文件的保存点,例如save 900 1表示如果在900秒以内有个一key有变动,则触发一次刷新数据到硬盘的RDB文件中。如果不想保留数据到硬盘,则可以将以上三个参数替换为save ""

    16)stop-writes-on-bgsave-error yes

    #<==设置如果后台保存失败,那么redis将停止数据的写入。

    17)rdbcompression yes

    #<==转储.rdb数据库时使用LZF压缩字符串对象。

    18)rdbchecksum yes

    #<==在RDB文件末尾的校验,会降低10%的性能,如果想获取最佳性能,则可以关闭此选项

    19)dbfilename dump.rdb

    #<==DB文件的备份名名

    20)dir /var/lib/redis

    #<==指定工作目录,rdb存放的目录。如果没有指定,则默认在运行命令的路径下。

    主从配置

    21)slave-serve-stale-data yes

    #<==与master失联的应对方式,yes时会回复客户端旧的数据;no会提示报错“SYNC with master in progress”

    22) slave-read-only yes

    #<==设置slave服务器只读

    23) repl-diskless-sync no

    #<==是否启动无盘同步方式,即使用socket做同步策略而不会使用到disk。(磁盘IO慢,且带宽足够大时可选择采用。但该功能目前还不处实验状态,建议选择关闭)

    24)repl-diskless-sync-delay 5

    #<==当repl-diskless-sync设置为yes时,设置传输前的等待时间。要禁用该功能可配置为0。

    25)repl-disable-tcp-nodelay no

    #<==tcp延时的优化,默认为no。在非常高的网络trafiic条件或者主备距离远时,可开启为yes。

    26)slave-priority 100

    #<==从节点的优先级。数字越低级别越高,0表示不会被提升带master。

     追加模式配置

    27) appendonly no

    #<==是否开启AOF追加功能,yes表示开启,建议
     

    28) appendfilename "appendonly.aof"

    #<==AOF文件名,默认为appendonly.aof
     

    29) appendfsync everysec

    #<==写入AOF文件的频率。有no(操作系统需要时刷新,速度快)、always(每追加一条就会刷新,安全)、everysec(每秒刷新一次)三种选择,默认为everysec
     

    30) no-appendfsync-on-rewrite no

    #<==缓解AOF写入阻塞,默认为no。如果有延迟问题,可以选择yes
     

    31) auto-aof-rewrite-percentage 100

    #<==触发自动重写所占的百分比,0表示禁用自动重写功能
     

    32) auto-aof-rewrite-min-size 64mb

    #<==指定自动重写AOF文件的最小大小
     

    33) aof-load-truncated yes

    #<==是否加载被截断(reids出问题时AOF文件可能被截断)的AOF日志。设置yes表示加载被截断的AOF文件,并通过日志告知用户;如果设置为no,则redis拒绝启动,需要运行redis-check-aof才能启动服务。
     

     LUA脚本配置

    34) lua-time-limit 5000

    #<==以毫秒为单位的LUA脚本最长执行时间,0或者负数表示不限制
     

     慢日志配置

    35) slowlog-log-slower-than 10000

    #<==记录执行命令的超时时间,单位为微秒。负数表示禁用该功能,0表示强制记录每条命令。
     

    36) slowlog-max-len 128

    #<==慢日志的长度,注意会消耗内存,可以使用SLOWLOG RESET回收慢日志所使用的内存
     

    延时监视配置

    37) latency-monitor-threshold 0

    #<==设置监视的执行命令时间,超过该值的才会被记录。0表示关闭该功能。
     

     事件通知配置

    38) notify-keyspace-events ""

    #<==一般不会用到此功能,而且会带来额外的开销
     

     高级配置

    39) hash-max-ziplist-entries 512

    #<==hash阈值最大的条目数
     

    40) hash-max-ziplist-value 64

    41) list-max-ziplist-size -2

    #<==每个内部列表节点允许的条目数,-2表示8KB。(-5表示64KB;-4表示32KB;-3表示-16KB;-1表示4KB)
     

    42) list-compress-depth 0

    #<==列表的压缩深度,0表示不压缩
     

    43) set-max-intset-entries 512

    #<==集合大小的限制
     

    44) zset-max-ziplist-entries 128

    #<==有序集合特殊编码格式最大元素限制
     

    45) zset-max-ziplist-value 64

    #<==有序集合特殊编码格式最大长度限制
     

    46) hll-sparse-max-bytes 3000

    #<==HyperLogLog最大字节数的限制
     

    47) activerehashing yes

    #<==开启主动hash功能,可以尽可能快释放内存。如果有严格的延迟要求,可以设置为no。
     

    48) client-output-buffer-limit normal 0 0 0

    49) client-output-buffer-limit slave 256mb 64mb 60

    50) client-output-buffer-limit pubsub 32mb 8mb 60

    #<==格式为client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds>,表示如果达到硬限制,立即断连;达到软限制并持续之后的秒数,断连。默认普通客户端不受限制,因为不会在没有询问的情况下接收数据。
     

    51) hz 10

    #<==设置Redis检查任务的频率,范围为1-500,最好不要超过100。
     

    52) aof-rewrite-incremental-fsync yes

    #<==没生成32MB数据,AOF文件将被fsync-ed,避免延迟尖峰。

     

    #配置环境变量

     

    vim /etc/profile

    export PATH="$PATH:/usr/local/redis/bin"

     

    让环境变量立即生

    source /etc/profile

     

     

    #开启自启动设置

    redis提供了一个管理启动,关闭,重启的脚本,位置是在

    /usr/local/redis-5.0.0/utils/redis_init_script

    #复制脚本文件到init.d目录下()

    cp /usr/local/redis-5.0.0/utils/redis_init_script /etc/init.d/redis

     

    #编辑/etc/init.d/redis

     

    # 给脚本增加运行权限

    chmod +x /etc/init.d/redis

     

    查看服务列表 chkconfig --list

     

    添加服务 chkconfig --add redis

     

    配置启动级别 chkconfig --level 2345 redis on

     

     

    启动测试

     

    systemctl start redis 或者 /etc/init.d/redis start

     

    systemctl stop redis  或者 /etc/init.d/redis stop

     

     

    查看redis进程

     

    ps -aux|grep redis

     

    查看端口

     

    netstat -an|grep 6379

     

     

     

     

     

     

     

     

  • 相关阅读:
    CF1172F
    CF506E
    【清华集训2014】玛里苟斯
    CF516E Drazil and His Happy Friends
    [NOI2017]游戏(2-SAT)
    [bzoj2878][Noi2012]迷失游乐园(基环树dp)
    bzoj3545/bzoj3551 [ONTAK2010]Peaks/Peaks加强版
    [bzoj1791][ioi2008]Island 岛屿(基环树、树的直径)
    [AT2306]Rearranging(拓扑序)
    [bzoj5301][Cqoi2018]异或序列
  • 原文地址:https://www.cnblogs.com/gaosf/p/9895804.html
Copyright © 2020-2023  润新知