创建相关目录

# mkdir -p /usr/local/redis/{etc,bin,var}

# mkdir -p /data/logs/redis /data/dbcache


-----------------------------------------------------------------------------------------------------------------------------------------------

编译安装

一:下载redis并安装

[root@server ~]# wget http://redis.googlecode.com/files/redis-2.6.4.tar.gz  [root@server11 ~]# tar -zxvpf redis-2.6.4.tar.gz  
 
[root@server ~]# cd redis-2.6.4  
[root@server redis-2.6.4]# make install

# tar -xvzf redis-2.6.4.tar.gz

# cd redis-2.6.4

# make install

cp redis.conf /usr/local/redis/etc/
cp /usr/local/bin/redis-* /usr/local/redis/bin/

# echo "vm.overcommit_memory=1" >> /etc/sysctl.conf

# /sbin/sysctl -p


-----------------------------------------------------------------------------------------------------------------------------------------------

主服务器设置【192.168.1.100】

# vim /usr/local/redis/etc/redis.conf

daemonize yes

pidfile /usr/local/redis/var/redis.pid

port 6379

bind 192.168.1.100

unixsocket /usr/local/redis/var/redis.sock

unixsocketperm 755

timeout 300

loglevel verbose

logfile /data/logs/redis/redis.log

# syslog-enabled no

# syslog-ident redis

# syslog-facility local0

databases 16

save 900 1

save 300 10

save 60 10000

rdbcompression yes

dbfilename dump.rdb

dir /data/dbcache

# slaveof <masterip> <masterport>

# masterauth <master-password>

# repl-ping-slave-period 10

# repl-timeout 60

requirepass redis123

# rename-command CONFIG ""

maxclients 0

# maxmemory <bytes>

# maxmemory-policy volatile-lru

# maxmemory-samples 3

appendonly no

appendfilename appendonly.aof

appendfsync always

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

slowlog-log-slower-than 10000

slowlog-max-len 128

vm-enabled no

vm-swap-file /data/dbcache/redis.swap

vm-max-memory 0

vm-page-size 32

vm-pages 134217728

vm-max-threads 4

glueoutputbuf yes

hash-max-zipmap-entries 512

hash-max-zipmap-value 64

list-max-ziplist-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

activerehashing yes


-----------------------------------------------------------------------------------------------------------------------------------------------

从服务器设置【192.168.1.200】

daemonize yes

pidfile /usr/local/redis/var/redis.pid

port 6379

bind 192.168.1.200

unixsocket /usr/local/redis/var/redis.sock

unixsocketperm 755

timeout 300

loglevel verbose

logfile /data/logs/redis/redis.log

# syslog-enabled no

# syslog-ident redis

# syslog-facility local0

databases 16

save 900 1

save 300 10

save 60 10000

rdbcompression yes

dbfilename dump.rdb

dir /data/dbcache

# slaveof <masterip> <masterport>

# masterauth <master-password>

# repl-ping-slave-period 10

# repl-timeout 60

# rename-command CONFIG ""

maxclients 0

# maxmemory <bytes>

# maxmemory-policy volatile-lru

# maxmemory-samples 3

appendonly no

appendfilename appendonly.aof

appendfsync always

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

slowlog-log-slower-than 10000

slowlog-max-len 128

vm-enabled no

vm-swap-file /data/dbcache/redis.swap

vm-max-memory 0

vm-page-size 32

vm-pages 134217728

vm-max-threads 4

glueoutputbuf yes

hash-max-zipmap-entries 512

hash-max-zipmap-value 64

list-max-ziplist-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

activerehashing yes

slave-serve-stale-data yes

slaveof 192.168.1.100 6379

masterauth redis123


启动服务:

# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf


主服务器上执行:

# /usr/local/redis/bin/redis-cli -h 192.168.1.100 -a redis123 set test 123456


从服务器上执行:

# /usr/local/redis/bin/redis-cli -h 192.168.1.200 get test


-----------------------------------------------------------------------------------------------------------------------------------------------

启动脚本

# vim /etc/init.d/redis

#!/bin/sh

#

# redis - this script starts and stops the redis-server daemon

#

# chkconfig:   - 85 15

# description:  Redis is a persistent key-value database

# processname: redis-server

# config:      /usr/local/redis/etc/redis.conf

# pidfile:     /usr/local/redis/var/redis.pid

# Check that networking is up.

                                              

[ "$NETWORKING" = "no" ] && exit 0

                                              

redis="/usr/local/redis/bin/redis-server"

prog=$(basename $redis)

REDIS_CONF_FILE="/usr/local/redis/etc/redis.conf"

lockfile="/var/lock/subsys/redis"

                                              

start() {

    [ -x $redis ] || exit 5

    [ -f $REDIS_CONF_FILE ] || exit 6

                                                 

    echo -n $"Starting $prog: "

    $redis $REDIS_CONF_FILE

    retval=$?

    echo

    [ $retval -eq 0 ] && touch $lockfile

                                                 

    return $retval

}

                                              

stop() {

    echo -n $"Stopping $prog: "

    /sbin/killproc $prog -QUIT

                                                 

    retval=$?

    echo

    [ $retval -eq 0 ] && rm -f $lockfile

                                                 

    return $retval

}

                                              

restart() {

    stop

    sleep 1

    start

}

                                              

reload() {

    echo -n $"Reloading $prog: "

    /sbin/killproc $redis -HUP

                                                 

    RETVAL=$?

    echo

                                                 

    return $retval

}

                                              

case "$1" in

start)

    $1

    ;;

                                                 

stop)

    $1

    ;;

                                                 

restart)

    $1

    ;;

                                                 

reload)

    $1

    ;;

                                                 

*)

    echo $"Usage: $0 {start|stop|restart|reload}"

    exit 2

esac

-----------------------------------------------------------------------------------------------------------------------------------------------

启动服务

# chmod 700 /etc/init.d/redis

# chkconfig --add redis

# service redis start


测试是否已启动

# /usr/local/redis/bin/redis-cli ping


性能测试

# /usr/local/redis/bin/redis-benchmark


关闭服务

# /usr/local/redis/bin/redis-cli -p 6379 shutdown


强制刷新数据到磁盘【Redis默认是异步写入磁盘的】

# /usr/local/redis/bin/redis-cli -p 6379 save


-----------------------------------------------------------------------------------------------------------------------------------------------

phpredis扩展安装

# svn checkout http://phpredis.googlecode.com/svn/trunk/phpredis-read-only

# /usr/local/php/bin/phpize

# ./configure --with-php-config=/usr/local/php/bin/php-config

# make && make install