redis的编译安装非常简单,
下载redis-2.6.13.tar.gz后,
tar xvf redis-2.6.13.tar.gz
cd redis-2.6.13
make && make install
将会把redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump 五个文件复制到 /usr/local/bin/下
[root@localhost ~]# ll /usr/local/bin
总用量 12464
-rwxr-xr-x. 1 root root 3853805 6月 18 18:54 redis-benchmark
-rwxr-xr-x. 1 root root 16459 6月 18 18:54 redis-check-aof
-rwxr-xr-x. 1 root root 37707 6月 18 18:54 redis-check-dump
-rwxr-xr-x. 1 root root 3909826 6月 18 18:54 redis-cli
-rwxr-xr-x. 1 root root 4931736 6月 18 18:54 redis-server
[root@localhost ~]#
然后将源码中的 redis.conf 复制到 /etc/redis.conf
修改 /etc/redis.conf里面可以把 daemonize no 修改为
daemonize yes
就可以默认在后台执行redis-server了。
再制作一个 init.d 的启动脚本:
#!/usr/bin/env bash
#
# redis start up the redis server daemon
#
# chkconfig: 345 99 99
# description: redis service in /etc/init.d/redis \
# chkconfig --add redis or chkconfig --list redis \
# service redis start or service redis stop
# processname: redis-server
# config: /etc/redis.conf
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"
#make sure some dir exist
if [ ! -d /var/lib/redis ] ;then
mkdir -p /var/lib/redis
mkdir -p /var/log/redis
fi
case "$1" in
status)
ps -A|grep redis
;;
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
将上面内容复制到 /etc/init.d/redis
chmod o+x /etc/init.d/redis
chkconfig --add redis
chkconfig --list redis
service redis start
这就是主服务器,从服务器,配置一样,只不过 修改/etc/redis.conf 中
slaveof <masterip> <masterport>修改为
slaveof 192.168.0.1 6379
然后开启从服务器的redis服务。
测试
#主服务器
redis-cli -p 6379 set hello world
#从服务器
redis-cli -p 6379 get hello
"world"
#主服务器
redis-cli -p 6379 set hello world2
#从服务器
redis-cli -p 6379 get hello
"world2"
redis-cli -p 6379 set hello world
(error) READONLY You can't write against a read only slave.
#成功 配置主从redis 服务器。好简单啊。
由于配置中有一条 从服务器 是只读的,所以从服务器 没法设置数据,只可以读取数据。