前言、redis与memcache比较
1.redis不仅支持简单的K/V类型数据,还支持list、set、zset、hash等类型的数据
2.redis支持master-slave(主从)模式
3.redis支持数据快照和aof两种持久化模式,可以将内存中的数据同步到磁盘中
4.redis单个value的最大限制为1024MB,memcached只能保存1MB的数据
一、redis安装
redis中文官网:http://www.redis.cn/
linux安装redis步骤
- $ cd /home/
- $ wget http://download.redis.io/releases/redis-3.0.4.tar.gz
- $ tar xzf redis-3.0.4.tar.gz
- $ cd redis-3.0.4
- $ make
前面4步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装gcc
解决方案:yum install gcc-c++
异常二:
zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory
异常原因:一些编译依赖或原来编译遗留出现的问题
解决方案:make distclean。清理一下,然后再make。
在make成功以后,需要make test。在make test出现异常。
在make test出现异常:
couldn’t execute “tclsh8.5”: no such file or directory
异常原因:没有安装tcl
解决方案:yum install -y tcl。
这样基本的异常问题就能基本解决了。
下面我们进入src目录
- $ cd /home/redis-3.0.4/src/
- $ ls
重点关注以下几个文件:
- redis-cli 为终端操作脚本
- redis-server 为启动redis服务的脚本
- redis-benchmark 为压力测试脚本
- redis-check-aof 和 redis-check-dump 为检测aof和快照备份的脚本
此时我们将这几个文件cp到已经创建好的/usr/local/redis/目录下:
- $ mkdir /usr/local/redis
- $ cp redis-cli redis-server redis-benchmark redis-check-aof redis-check-dump /usr/local/redis/
- $ cd /usr/local/redis/
- $ ls
再将redis.conf文件cp到/usr/local/redis/目录中
- $ cd /home/redis-3.0.4/
- $ cp redis.conf /usr/local/redis/
- $ cd /usr/local/redis/
启动redis服务
- ./redis-server redis.conf
开启redis后台启动
- vim redis.conf
- 找到daemonize,将daemonize = no 改为 daemonize = yes,即开启了redis后台启动
设置redis开机启动脚本
- vim /etc/init.d/redis
- 将以下代码粘贴进redis文件中
#!/bin/sh
#chkconfig: 345 86 14
#description: Startup and shutdown script for Redis
PROGDIR=/usr/local/redis #redis安装路径
PROGNAME=redis-server
DAEMON=$PROGDIR/$PROGNAME
CONFIG=/usr/local/redis/redis.conf
PIDFILE=/var/run/redis.pid
DESC="redis daemon"
SCRIPTNAME=/etc/init.d/redis
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
编辑好后保存退出,然后给/etc/init.d/redis文件777权限,并设置开机启动
- $ chmod 777 /etc/init.d/redis
- $ /etc/init.d/redis start
- $ chkconfig redis on
至此redis安装配置基本搞定,如果希望启动redis的方便,可以将/usr/local/redis/目录加入环境变量
- $ vim /etc/profile
export PATH=$PATH:/usr/local/redis
运行命令使环境变量生效
- source /etc/profile
你也可以通过export命令的方式来添加环境变量或是直接修改~/.bashrc文件
(^-^) 至此redis所有安装配置操作搞定。