cd /opt/
wget http://redis.googlecode.com/files/redis-2.4.14.tar.gz
tar zxvf redis-2.4.14.tar.gz<wbr></wbr>
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<wbr></wbr>
测试redis
#redis-cli <wbr></wbr>
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><wbr></wbr>
关闭redis服务
redis-cli shutdown <wbr></wbr>
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: <wbr>- 85 15</wbr>
# description: <wbr>Redis is a persistent key-value database</wbr>
# processname: redis-server
# config: <wbr><wbr><wbr>/etc/redis.conf</wbr></wbr></wbr>
# config: <wbr><wbr><wbr>/etc/sysconfig/redis</wbr></wbr></wbr>
# pidfile: <wbr><wbr>/var/run/redis.pid</wbr></wbr>
# 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() {
<wbr><wbr>[ -x $redis ] || exit 5</wbr></wbr>
<wbr><wbr>[ -f $REDIS_CONF_FILE ] || exit 6</wbr></wbr>
<wbr><wbr>echo -n $"Starting $prog: "</wbr></wbr>
<wbr><wbr>daemon $redis $REDIS_CONF_FILE</wbr></wbr>
<wbr><wbr>retval=$?</wbr></wbr>
<wbr><wbr>echo</wbr></wbr>
<wbr><wbr>[ $retval -eq 0 ] && touch $lockfile</wbr></wbr>
<wbr><wbr>return $retval</wbr></wbr>
}
stop() {
<wbr><wbr>echo -n $"Stopping $prog: "</wbr></wbr>
<wbr><wbr>killproc $prog -QUIT</wbr></wbr>
<wbr><wbr>retval=$?</wbr></wbr>
<wbr><wbr>echo</wbr></wbr>
<wbr><wbr>[ $retval -eq 0 ] && rm -f $lockfile</wbr></wbr>
<wbr><wbr>return $retval</wbr></wbr>
}
restart() {
<wbr><wbr>stop</wbr></wbr>
<wbr><wbr>start</wbr></wbr>
}
reload() {
<wbr><wbr>echo -n $"Reloading $prog: "</wbr></wbr>
<wbr><wbr>killproc $redis -HUP</wbr></wbr>
<wbr><wbr>RETVAL=$?</wbr></wbr>
<wbr><wbr>echo</wbr></wbr>
}
force_reload() {
<wbr><wbr>restart</wbr></wbr>
}
rh_status() {
<wbr><wbr>status $prog</wbr></wbr>
}
rh_status_q() {
<wbr><wbr>rh_status >/dev/null 2>&1</wbr></wbr>
}
case "$1" in
<wbr><wbr>start)</wbr></wbr>
<wbr><wbr><wbr><wbr>rh_status_q && exit 0</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>$1</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>;;</wbr></wbr></wbr></wbr>
<wbr><wbr>stop)</wbr></wbr>
<wbr><wbr><wbr><wbr>rh_status_q || exit 0</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>$1</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>;;</wbr></wbr></wbr></wbr>
<wbr><wbr>restart|configtest)</wbr></wbr>
<wbr><wbr><wbr><wbr>$1</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>;;</wbr></wbr></wbr></wbr>
<wbr><wbr>reload)</wbr></wbr>
<wbr><wbr><wbr><wbr>rh_status_q || exit 7</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>$1</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>;;</wbr></wbr></wbr></wbr>
<wbr><wbr>force-reload)</wbr></wbr>
<wbr><wbr><wbr><wbr>force_reload</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>;;</wbr></wbr></wbr></wbr>
<wbr><wbr>status)</wbr></wbr>
<wbr><wbr><wbr><wbr>rh_status</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>;;</wbr></wbr></wbr></wbr>
<wbr><wbr>condrestart|try-restart)</wbr></wbr>
<wbr><wbr><wbr><wbr>rh_status_q || exit 0</wbr></wbr></wbr></wbr>
<wbr><wbr>;;</wbr></wbr>
<wbr><wbr>*)</wbr></wbr>
<wbr><wbr><wbr><wbr>echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>exit 2</wbr></wbr></wbr></wbr>
esac
然后增加服务并开机自启动:
chmod 755 /etc/init.d/redis<wbr></wbr>
chkconfig --add redis<wbr></wbr>
chkconfig --level 345 redis on<wbr></wbr>
chkconfig --list redis