redis集群搭建以及Yii1.1连接redis集群

本文介绍了在Ubuntu 16.04环境下,如何搭建Redis 3.0.7集群,并解决Yii1.1框架下连接Redis集群的问题。通过phpredis扩展实现集群连接,并提供了相关拓展的安装指南。
摘要由CSDN通过智能技术生成


微笑微笑微笑本来博客搭建在自己的服务器上,不知道多久没有维护和更新后,再一看域名都需要重新备案了。介于本人的“懒惰性”,还是迁过来不浪费资源了。

最近搭建一个业务,号称每秒响应需要1W次请求,然后LZ各种折腾php、mysql和nginx配置。最后放弃mysql使用redis单机版,最后的最后使用redis集群。


1、生产环境

ubuntu16.04

redis-3.0.7

内网机器IP:192.168.140.180和192.168.140.181

机器CPU:4核

2、搭建

LZ在搭建集群前是使用的redis单机版,而单机版的启动直接使用redis.server /etc/redis/redis.conf的,也就是说完全没有理解redis的单核运行原理 【手动滑稽,LZ是个菜】,还是记录一下redis的单线程:

redis是用"单线程-多路复用io模型"来实现高性能的内存数据服务的,这种机制避免了使用锁,但是同时这种机制在进行sunion之类的比较耗时的命令时会使redis的并发下降。因为是单一线程,所以同一时刻只有一个操作在进行,所以,耗时的命令会导致并发的下降,不只是读并发,写并发也会下降。而单一线程也只能用到一个cpu核心。

CPU 是一个重要的影响因素,由于是单线程模型,Redis 更喜欢大缓存快速 CPU, 而不是多核。在多核 CPU 服务器上面,Redis 的性能还依赖 NUMA 配置和 处理器绑定位置。 最明显的影响是 redis-benchmark 会随机使用 CPU 内核。
然后LZ的业务负载机器上面还跑着redis的实例,最后造成了这种情况:


简直不要太开心,8核机器redis用了50%的CPU??? WTF???当时LZ的内心是崩溃的。所以查找了相当的redis集群资料开始搭建过程。

2.1.1  下载和安装redis源码
cd /data/bao
wget "http://download.redis.io/releases/redis-3.0.7.tar.gz"
tar -zxvf redis-3.0.7.tar.gz 


然后进入到安装目录
cd redis-3.0.7
make test

ubuntu 下会报错:
You need tcl 8.5 or newer in order to run the Redis test

然后我们需要一下操作:
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
sudo tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/
cd  /usr/local/tcl8.6.1/unix/
sudo ./configure
sudo make
sudo make install 

再返回进入到redis目录下
cd /data/bao/redis-3.0.7 && make && make install

OK,搭建了六套相关环境暂时还没有出现过其他问题.现在源码安装好了redis,redis的启动和cli是和系统同样的,也就是
cd /data/bao/redis-3.0.7/src
下有 redis-server 和 redis-cli 文件。./redis-cli 就可以使用连接了。

2.1.2 搭建redis集群
OK,两台机器做同样的命令:
用端口为名称建立redis集群的配置,LZ搭建4主4从,所以启用四个端口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值