redis安装

来源:互联网 发布:打开淘宝音乐就暂停 编辑:程序博客网 时间:2024/05/16 05:46
cd /opt/
wget http://redis.googlecode.com/files/redis-2.4.14.tar.gz
tar zxvf redis-2.4.14.tar.gz 
cd redis-2.4.14
make
make install

cp redis.conf /etc/

cd src/
cp redis-benchmark redis-cli redis-check-dump redis-server /usr/local/bin

设置redis进程为后台守护进程:
sed -i "s/daemonize no/daemonize yes/g" /etc/redis.conf

启动:
redis-server /etc/redis.conf 

测试redis
#redis-cli  
redis 127.0.0.1:6379> set name bin
OK
redis 127.0.0.1:6379> get name
"bin"
redis 127.0.0.1:6379> 

关闭redis服务
redis-cli shutdown  

redis服务关闭后,缓存数据会自动dump到硬盘上,硬盘地址为redis.conf中的配置项dbfilename dump.rdb所设定
强制备份数据到磁盘,使用如下命令

redis-cli save 或者 redis-cli -p 6380 save(指定端口)

vi /etc/sysctl.conf

vm.overcommit_memory = 1

设置内存分配策略(可选,根据服务器的实际情况进行设置)
/proc/sys/vm/overcommit_memory
可选值:0、1、2
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存


然后应用生效:
sysctl –p

建立redis启动脚本:
vim /etc/init.d/redis


#!/bin/sh
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig:   - 85 15
# description:  Redis is a persistent key-value database
# processname: redis-server
# config:      /etc/redis.conf
# config:      /etc/sysconfig/redis
# pidfile:     /var/run/redis.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

redis="/usr/local/bin/redis-server"
prog=$(basename $redis)

REDIS_CONF_FILE="/etc/redis.conf"

[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis

lockfile=/var/lock/subsys/redis

start() {
    [ -x $redis ] || exit 5
    [ -f $REDIS_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $redis $REDIS_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

reload() {
    echo -n $"Reloading $prog: "
    killproc $redis -HUP
    RETVAL=$?
    echo
}

force_reload() {
    restart
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
   ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac


然后增加服务并开机自启动:
chmod 755 /etc/init.d/redis 
chkconfig --add redis 
chkconfig --level 345 redis on 
chkconfig --list redis