Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
1、下载 redis-2.8.13.tar.gz
wget http://download.redis.io/releases/redis-2.8.13.tar.gz
2、解压文件:tar -zxvf redis-2.8.13.tar.gz
3、删除文件:rm redis-2.8.13.tar.gz
4、编译: make
执行 make 命令后,最后几行的输出情况
5 、测试Redis,进入cd src ,执行 make test
ERROR:make test 检查一下是否正常,遇到两个错误,如下:
6、安装:make install
测试通过后安装,安装后会自动把 redis-server,redis-cli,redis-benchmark,redis-check-aof,redis-check-dump 复制到/usr/local/bin目录下。
7、配置redis.conf文件
cp ./redis.conf /etc/redis.conf
vi /etc/redis.conf
把daemonize no 改成 daemonize yes,这样启动redis时就会成会后台服务
8、配置启动脚本
添加如下信息:
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis.conf"
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
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
:x #保存并退出
9、修改权限,可以运行
chmod +x /etc/init.d/redis
10、设置开机自动启动服务
11、启动和测试Redis
/etc/init.d/redis start #启动
/etc/init.d/redis stop #关闭
ps -aux | grep redis #查看redis进程是否启动
12、启动redis客户端进行测试
13、配置防火墙,打开对应的端口
vi /etc/sysconfig/iptables
添加:-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
:x #保存并退出
重启防火墙:service iptables restart