Redis集群的配置

原文地址 http://www.yiibase.com/server/view/411.html

嘛。我就是留个记录备以后用。。。若有冒犯,马上删除


一:memcache 和 Redis 对比总结


[memecache 特点]

1:速度最快(没有自测,但网上有详细的测试用例)

2:支持水平扩展,可以任意添加节点


[redis 特点]

1:速度没有memcache快

2:支持M/S的主从备份

3:可以支持多数据库

4:操作指令很丰富

4:支持异步数据持久化(以文件保存)


总结:

1:如果是简单的数据缓存建议使用MEMCACHE。

2:如果要对单一操作的数据量非常的大则使用MEMCACHE

3: 如果想做性能很好的缓存集群可以用Redis(M/S读写分离,如weibo中的排行榜等)

4: 如果在高并发下又想保存数据则可以用Redis (如更新热门文章浏览次数,memcachedb也不错)


二:Redis 的详细安装,


将 redis 安装到 /usr/local/webserver/redis


1:从 http://redis.io/download 上下载安装包


wget http://redis.googlecode.com/files/redis-2.2.15.tar.gz

tar zxvf redis-2.2.15.tar.gz

cd redis-2.2.15

make


mkdir -p /data/app/redis/conf

mkdir -p /data/app/redis/run

mkdir -p /data/app/redis/db


cp redis.conf    /data/app/redis/conf

cd src

# 将 src 目录下所有可执行文件复制到安装目录

cp redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server mkreleasehdr.sh /usr/local/webserver/redis/


2:修改配置文件中的如下选项

------- vi /usr/local/webserver/redis/conf/redis.conf --------

daemonize yes

pidfile /data/app/redis/run/redis.pid

dir /data/app/redis/db

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


3:创建服务脚本


------- vi /data/app/redis/bin/start.sh ---------

#!/bin/bash

/data/app/redis/redis-server /data/app/redis/conf/redis.conf

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


------- vi /data/app/redis/bin/stop.sh ---------

#!/bin/bash

kill `cat /data/app/redis/run/redis.pid`

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


chmod a+x /data/app/redis/bin/start.sh /data/app/redis/bin/stop.sh



4:启动 redis 服务

/ data/app/redis/bin/start.sh

验证证服务是否成功:

netstat -nlpt | grep 6379


5:启动客户端验证

/data/app/redis/redis-cli

>set key1 val1

>get key1



三:Redis Master/Slave 主从集群配置


这里我们以本机配置 1台Master + 2台Slave 为例子,其中:


Master IP:127.0.0.1  PORT:6379

Slave1 IP:127.0.0.1  PORT:63791

Slave2 IP:127.0.0.1  PORT:63792


1:复制两个 Slave 目录,方便管理

cp -r /data/app/redis/   /data/app/redis-slave1

cp -r /data/app/redis/   /data/app/redis-slave2


2:修改 redis-slave1 的配置文件和服务脚本

-- vi /data/app/redis-slave1/conf/redis.conf --

port 63791

pidfile /data/app/redis-slave1/run/redis.pid

dir/data/app/redis-slave1/db

slaveof 127.0.0.1 6379

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


后面创建启动脚本,以及slave2的建立与前面类似,就不写了。





4:启动 M/S 服务

/data/app/redis/bin/start.sh

/data/app/redis-slave1/bin/start.sh

/data/app/redis-slave2/bin/start.sh

验证服务是否正常: netstat -nlpt | grep redis-server 有3个端口存在证明成功了

0 0.0.0.0:6379  

0 0.0.0.0:63791

0 0.0.0.0:63792


5:验证M/S服务是否生效

/data/app/redis/redis-cli [默认连接端口:6379 的 Master服务]

>set key1 val1

>quit


/data/app/redis/redis-cli -p 63791 [连接 Slave1 服务]

>get key1

"val1" (数据成功同步了)


/data/app/redis/redis-cli -p 63792 [连接 Slave2 服务]

>get key1

"val1" (数据成功同步了)



四:安装 Redis PHP 扩展


Redis所有的客户端在 http://redis.io/clients [PHP选项卡] 基于性能选择安装 phpredis


在 https://github.com/nicolasff/phpredis/downloads 上下载源代码包到本地然后上传到服务器.


tar zxvf nicolasff-phpredis-2.1.3-167-ga5e53f1.tar.gz

cd nicolasff-phpredis-a5e53f1

phpize

./configure

make && make install


查看输出信息会告诉你 redis.so 的那个目录下,把它复制到PHP的扩展目录下

我的系统上是 /usr/lib/php5/extensions/


用 php --ini 找到 php.ini 的位置,加入以下行后重启WEB服务器

=========================

extension=redis.so

=========================


你可能感兴趣的:(redis)