zoukankan      html  css  js  c++  java
  • CentOS7 安装Redis6.0.10

    1、安装Redis6.0.10需要高版本gcc,所以先临时升级gcc

    yum -y install centos-release-scl
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    
    #临时将gcc设置为高版本,会话结束就变回低版本gcc
    scl enable devtoolset-9 bash

    2、安装Redis6.0.10

    tar zxvf redis-6.0.10.tar.gz
    mv redis-6.0.10 redis
    cd redis
    make
    make install

    3、修改配置文件

    vi /usr/local/redis/redis.conf 
    
    #主要修改的内容
    port 18890    #端口
    daemonize yes    #后台运行
    pidfile /var/run/redis.pid    #pid文件位置,和启动脚本保持一至就行

    4、启动脚本

    vi /etc/rc.d/init.d/redis
    #!/bin/sh
    #
    # Simple Redis init.d script conceived to work on Linux systems
    # as it does use of the /proc filesystem.
    source /etc/init.d/functions
    REDISPORT=18890
    EXEC=/usr/local/redis/src/redis-server
    CLIEXEC=/usr/local/redis/src/redis-cli
     
    PIDFILE=/var/run/redis.pid
    CONF=/usr/local/redis/redis.conf
    BIND_IP='0.0.0.0'
     
    start(){     
        if [ -f $PIDFILE ]
        then
            echo "$PIDFILE exists, process is already running or crashed"
        else
            echo "Starting Redis server..."
            $EXEC $CONF
        fi
        if [ "$?"="0" ]  
        then  
            echo "Redis is running..." 
        fi 
    }
     
    stop(){ 
        if [ ! -f $PIDFILE ]
        then
            echo "$PIDFILE does not exist, process is not running"
        else
            PID=$(cat $PIDFILE)
            echo "Stopping ..."       
            $CLIEXEC -h $BIND_IP  -p $REDISPORT  SHUTDOWN 
            sleep 1
            while [ -x /proc/${PID} ]
            do
                echo "Waiting for Redis to shutdown ..."
                sleep 1
            done
                echo "Redis stopped"
        fi
    }
     
    restart(){
        stop
        start 
    }
    
    status(){ 
        ps -ef|grep redis-server|grep -v grep >/dev/null 2>&1 
        if [ $? -eq 0 ];then 
            echo "redis server is running" 
        else
            echo "redis server is stopped" 
        fi
    } 
     
    case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;         
        restart)
            restart
            ;;         
        status)
            status
            ;;     
        *)
         
         echo "Usage: redis-server {start|stop|status|start}" >&2 
         exit 1 
    esac

    脚本加权限

    chmod +x /etc/rc.d/init.d/redis

    启动

    service redis start

    持久化说明:

    1、RDB 方式

    #只要满足以下条件中的一个,BGSAVE命令就会被执行
    #服务器在 900 秒之内,对数据库进行了至少 1 次修改了
    #服务器在 300 秒之内,对数据库进行了至少 10 次修改
    #服务器在 60 秒之内,对数据库进行了至少 10000 次修改
    #如果不想RDB持久化就写 save ""
    save 900 1 save 300 10 save 60 10000 #bgsave发生错误时是否停止写入,一般为yes stop-writes-on-bgsave-error yes #持久化时是否使用LZF压缩字符串对象? rdbcompression yes #是否对rdb文件进行校验和检验,通常为yes rdbchecksum yes # RDB持久化文件名 dbfilename dump.rdb #持久化文件存储目录 dir ./

    2、AOF方式

    #开启AOF持久化方式
    appendonly yes
     
    #AOF持久化文件名 
    appendfilename "appendonly.aof" 
    #每秒把缓冲区的数据fsync到磁盘 
    appendfsync everysec 
    # appendfsync no 
    #是否在执行重写时不同步数据到AOF文件 
    no-appendfsync-on-rewrite no 
     
    # 触发AOF文件执行重写的增长率 
    auto-aof-rewrite-percentage 100 
    #触发AOF文件执行重写的最小size 
    auto-aof-rewrite-min-size 64mb 
     
    #redis在恢复时,会忽略最后一条可能存在问题的指令 
    aof-load-truncated yes 
     
    #是否打开混合开关 
    aof-use-rdb-preamble yes
    • 如果只是需要保证数据的完整性,保护数据不会丢失,那么优先使用 AOF 方式。
    • 如果是处理大规模的数据恢复,追求更高更快的效率的话,优先使用 RDB 方式。

  • 相关阅读:
    Fy's dota2
    Black Rock Shooter
    树上的颜色
    8.spring:事务管理(上):Spring的数据库编程、编程式事务管理
    7.spring:SpringAOP(配置文件)
    6.spring:AOP(注解)
    5.spring:注解配置 Bean
    4.spriing:Bean的生命周期/工厂方法配置Bean/FactoryBean
    3.spring:自动装配/Bean之间的关系/作用域/外部文件/spel/
    2.spring:集合属性
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/14328680.html
Copyright © 2011-2022 走看看