• Linux下安装配置Redis


    一 下载并安装

    (1)下载:
    [root@localhost src]# wget http://download.redis.io/releases/redis-3.2.5.tar.gz
    (2)安装:
    [root@localhost src]# tar -zxvf redis-3.2.5.tar.gz
    [root@localhost src]# cd redis-3.2.5
    [root@localhost src]# make
    [root@localhost src]# make install

    查看redis版本:
    [root@localhost src]# redis-server -v
    Redis server v=3.2.5 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=e6b75f3646645042

    二 配置

    (1)创建配置文件目录:
     
    [root@localhost src]# cd /etc
    [root@localhost etc]# mkdir redis
    (2)创建dump file、进程pid、log目录:
    这些文件一般放在/var/目录下
    [root@localhost etc]# cd /var
    [root@localhost var]# mkdir redis
    [root@localhost var]# cd redis
    [root@localhost redis]# mkdir data log run
    (3)修改配置文件:
    [root@localhost src]# cd /usr/local/src/redis-3.2.5/
    [root@localhost redis-3.2.5]# cp redis.conf /etc/redis/
    [root@localhost redis-3.2.5]# vim /etc/redis/redis.conf
    一般修改以下参数:
    #绑定的主机地址,这里是允许其他所有主机访问
    bind 0.0.0.0
    #端口
    port 6379
    #认证密码
    requirepass admin
    #pid目录
    pidfile /var/redis/run/redis_6379.pid
    #log存储目录
    logfile /var/redis/log/redis.log
    #dump目录
    dir /var/redis/data
    #Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
    daemonize yes
     
    (4)rdb与aof:
    默认rdb,可选择是否开启aof,若开启,修改配置文件appendonly
    i)rdb的特性如下:
    fork一个进程,遍历hash table,利用copy on write,把整个db dump保存下来。
    save, shutdown, slave 命令会触发这个操作。
    粒度比较大,如果save, shutdown, slave 之前crash了,则中间的操作没办法恢复。
     
    ii)aof的特性如下:
    把写操作指令,持续的写到一个类似日志文件里。(类似于从postgresql等数据库导出sql一样,只记录写操作)
    粒度较小,crash之后,只有crash之前没有来得及做日志的操作没办法恢复。

    两种区别就是,一个是持续的用日志记录写操作,crash后利用日志恢复;一个是平时写操作的时候不触发写,只有手动提交save命令,或者是关闭命令时,才触发备份操作。

    选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的时候,不启用备份来换取更高的性能,待手动运行save的时候,再做备份(rdb)

    注:更多参数设置请参考:http://www.redis.net.cn/tutorial/3504.html

     
    (5)设置开机自启动:
    [root@localhost redis-3.2.5]# cd /usr/local/src/redis-3.2.5/utils
    [root@localhost utils]# cp redis_init_script /etc/init.d/redis
    修改部分参数为实际情况的配置,最后修改完成之后的脚本是:
     
    #!/bin/sh
    #
    # Simple Redis init.d script conceived to work on Linux systems
    #chkconfig: 2345 55 25
    #description: Starts,stops and restart the redis-server
    # as it does use of the /proc filesystem.
    
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    CLIEXEC=/usr/local/bin/redis-cli
    
    PIDFILE=/var/redis/run/redis_${REDISPORT}.pid
    CONF="/etc/redis/redis.conf"
    PASS=`grep "requirepass " $CONF | awk {print'$2'}`
    
    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                    echo "$PIDFILE exists, process is already running or crashed"
            else
                    echo "Starting Redis server..."
                    $EXEC $CONF
            fi
            ;;
        stop)
            if [ ! -f $PIDFILE ]
            then
                echo "$PIDFILE does not exist, process is not running"
            else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                if [ -z "$PASS" ]
                then
                    $CLIEXEC -p $REDISPORT shutdown
                else
                    $CLIEXEC -p $REDISPORT -a $PASS shutdown
                fi
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
            fi
            ;;
        *)
            echo "Please use start or stop as first argument"
            ;;
    esac

    添加可执行权限并设置开机自启:

  • 相关阅读:
    ObjectQuery查询及方法
    SQL系列(十三)—— 关于表的DDL
    SQL系列(十二)—— insert update delete
    Git Push 避免用户名和密码方法
    Git系列 —— github提交一个空目录
    Git系列 —— 记一次Mac上git push时总是403的错误
    Mysql系列(三)—— Mysql主从复制配置
    SQL系列(十一)—— 函数(function)
    SQL系列(十)—— 联结(join)
    动态代理(二)—— CGLIB代理原理
  • 原文地址:https://www.cnblogs.com/duhuo/p/5230903.html
Copyright © 2020-2023  润新知