进入到解压开的目录,执行:make && make install
在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等。
用cp命令复制到usr目录下运行。
cp redis-server /usr/local/bin/
cp redis-cli /usr/local/bin/
然后新建目录,存放配置文件
mkdir /etc/redis
mkdir /var/redis
mkdir /var/redis/log
mkdir /var/redis/run
mkdir /var/redis/6379
在redis解压根目录中找到配置文件模板,复制到如下位置。
cp redis.conf /etc/redis/6379.conf
通过vim命令修改
daemonize yes
pidfile /var/redis/run/redis_6379.pid
logfile /var/redis/log/redis_6379.log
dir /var/redis/6379
最后运行redis:
$ redis-server /etc/redis/6379.conf
这样执行 service redis start|restart|stop 就可以控制redis的启动、重启、停止了。
注:此配置在centos 6.5 上用的时候有点问题,用下面则可
--redis conf begin--
#!/bin/sh
#chkconfig: 345 86 14
#description: Startup and shutdown script for Redis
PROGDIR=/usr/redis #安装路径
PROGNAME=redis-server
DAEMON=$PROGDIR/$PROGNAME
CONFIG=/usr/redis.conf
PIDFILE=/var/run/redis.pid
DESC="redis daemon"
SCRIPTNAME=/etc/rc.d/init.d/redisd
start()
{
if test -x $DAEMON
then
echo -e "Starting $DESC: $PROGNAME"
if $DAEMON $CONFIG
then
echo -e "OK"
else
echo -e "failed"
fi
else
echo -e "Couldn't find Redis Server ($DAEMON)"
fi
}
stop()
{
if test -e $PIDFILE
then
echo -e "Stopping $DESC: $PROGNAME"
if kill `cat $PIDFILE`
then
echo -e "OK"
else
echo -e "failed"
fi
else
echo -e "No Redis Server ($DAEMON) running"
fi
}
restart()
{
echo -e "Restarting $DESC: $PROGNAME"
stop
start
}
list()
{
ps aux | grep $PROGNAME
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
list)
list
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|list}" >&2
exit 1
;;
esac
exit 0
--conf end--
安装完服务,redis自动启动,可以用ps命令查看到相关信息:
[root@XXXX utils]# ps -ef | grep redis
root 4554 1 0 10:55 ? 00:00:02 /usr/local/bin/redis-server /etc/redis/6379.conf
root 4564 2808 0 10:59 pts/0 00:00:00 grep redis
2、手动启动关闭服务
[root@xsf003 utils]# /etc/init.d/redis_6379 stop #关闭
[root@xsf003 utils]# /etc/init.d/redis_6379 start #启动
--- other end---
注意,默认复制过去的redis.conf文件的daemonize参数为no,所以redis不会在后台运行,这时要测试,我们需要重新开一个终端。修改为yes则为后台运行redis。另外配置文件中规定了pid文件,log文件和数据文件的地址,如果有需要先修改,默认log信息定向到stdout.
如果想在一个命令中设置多个同类型参数,如redis.conf配置文件中的save参数:save 900 1/save 300 10。在该命令中我们可以将多个key/value用双引号括起,并用空格符隔开,如:config set save "900 1 300 10"。
如果vm-max-threads设置为0,则会同步的执行,那么当某一客户端正在访问交换文件中的数据时,其它客户端如果再试图访问交换文件中的数据,该客户端的请求就将被挂起,直到之前的操作结束为止。
redis 的作者antirez曾称其为一个数据结构服务器(data structures server),这是一个非常准确的表述,redis的所有功能就是将数据以其固有的几种结构保存,并提供给用户操作这几种结构的接口。我们可以想象我们在各种语言中的那些固有数据类型及其操作。
redis目前提供四种数据类型:string,list,set及zset(sorted set)和Hash。
在官网上给出了所有支持的接口列表,并副副附有详细的介绍,地址:
http://code.google.com/p/redis/wiki/CommandReference
另外,作者还提供了一个非常贴心的web命令行模拟页面,供初学者试用redis,地址:
http://try.redis-db.com/
redis支持master-slave的主从配置,配置方法是在从机的配置文件中指定slaveof参数为主机的ip和port即可
-----自动备份redis数据并压缩---
#!/bin/bash
filename=`date +%Y%m%d%H`
backredisFile=redis$filename.tar.gz
cd /home/redis/back
mkdir redis_dump
cd redis_dump
cp /usr/redis/data/* /home/redis/back/redis_dump -rf
cd ..
tar czf $backredisFile redis_dump/
rm redis_dump -rf
-----自动解压并还原redis数据---
#!/bin/bash
filename='20150330013'
backredisFile=redis$filename.tar.gz
cd /home/redis/back
tar zxvf $backredisFile
/etc/init.d/redisd stop
cp /home/redis/back/redis_dump/* /usr/redis/data -r -f
/etc/init.d/redisd start
rm redis_dump -rf
项目首页,下方是各种语言支持列表:
http://code.google.com/p/redis/
作者在wiki中给出了一个非常好的例子,以使我们可以快速上手,地址:
http://code.google.com/p/redis/wiki/TwitterAlikeExample
同时作者推荐的另一个教程,地址:
http://labs.alcacoop.it/doku.php?id=articles:redis_land
一个redis爱好者创建的相关问题讨论网站:
http://www.rediscookbook.org/
为什么使用 Redis及其产品定位
http://www.infoq.com/cn/articles/tq-why-choose-redis
Redis内存使用优化与存储
http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storage