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

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

posted @ 2016-03-01 14:32  都市烟火  阅读(466)  评论(0)    收藏  举报