Mac系统上安装redis服务

一、安装redis

说明:为了便于管理安装文件都放到了:
/Users/$USER/localbin

到官网下载redis最新版本
$ wget http://download.redis.io/releases/redis-3.0.6.tar.gz
$ tar xzf redis-3.0.6.tar.gz
$ cd redis-3.0.6
$ make

二、配置

1、在 /Users/$USER/localbin 下建立目录 redis。redis目录下建立bin,etc,db三个目录

2、把src目录下的
mkreleasehdr.sh,
redis-benchmark,
redis-check-dump,
redis-cli,
redis-server 拷贝到bin目录

3、拷贝 redis3.0.6目录下的redis.conf,到etc目录下

4、修改redis.conf,具体如下:
#修改为守护模式
daemonize yes

#设置进程锁文件
pidfile /Users/allison/localbin/redis/bin/redis.pid

#端口
port 6379

#客户端超时时间
timeout 300

#日志级别
loglevel debug

#日志文件位置
logfile /Users/allison/localbin/redis/log/log-redis.log

#设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库id
databases 16

#指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#save <seconds> <changes>

#Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000

#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该#选项,但会导致数据库文件变的巨大
rdbcompression yes

#指定本地数据库文件名
dbfilename dump.rdb

#指定本地数据库路径
dir /Users/allison/localbin/redis/db

#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中
appendonly no

#指定更新日志条件,共有3个可选值:
#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)

#everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec

# 三、添加启动脚本
在redis/bin 目录下添加:redis文件,文件内容如下(详见附件):

#!/bin/bash

REDISPORT=6379
ROOT=/Users/allison/localbin/redis
EXEC=${ROOT}/bin/redis-server
CLIEXEC=${ROOT}/bin/redis-cli
PIDFILE=${ROOT}/bin/redis.pid
CONF="${ROOT}/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
;;
restart)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, reds is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
echo "Starting Redis server..."
$EXEC $CONF &
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac

四、查看日志文件

tail -f log-redis.log

五、添加环境变量:

vi ~/.bash_profile export PATH=${PATH}:/Users/allison/localbin/redis/bin

六、PHP中使用redis 配置

说明:如果在xampp下运行,需要将xampp的php配置到环境变量中,否则安装不成功。

下载phpredis的扩展包

unzip phpredis-master.zip
cd phpredis-master/
phpize
./configure
make
sudo make install

# 这时候会提示一个路径/usr/lib/php/extensions/no-debug-non-zts-20090626/ 表示已经将扩展放置在该位置,vim xampp 下的/etc/php.ini

#增加如下内容
extension=redis.so

#重启apache

#查看扩展安装情况, 出现 redis 表示安装成功。
php -m |grep redis

本文参考:

posted @ 2016-01-27 12:00  Forrest.Wang  阅读(289)  评论(0编辑  收藏  举报