Redis集群的配置
[转]Redis集群的配置
一: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 /usr/local/webserver/redis/conf
mkdir -p /usr/local/webserver/redis/run
mkdir -p /usr/local/webserver/redis/db
cp redis.conf /usr/local/webserver/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 /usr/local/webserver/redis/run/redis.pid
dir /usr/local/webserver/redis/db
--------------------------------------------------------------
3:创建服务脚本
------- vi /usr/local/webserver/redis/start.sh ---------
#!/bin/bash
/usr/local/webserver/redis/redis-server /usr/local/webserver/redis/conf/redis.conf
--------------------------------------------------------
------- vi /usr/local/webserver/redis/stop.sh ---------
#!/bin/bash
kill `cat /usr/local/webserver/redis/run/redis.pid`
--------------------------------------------------------
chmod a+x /usr/local/webserver/redis/start.sh /usr/local/webserver/redis/stop.sh
4:启动 redis 服务
/usr/local/webserver/redis/start.sh
验证证服务是否成功:
netstat -nlpt | grep 6379
5:启动客户端验证
/usr/local/webserver/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 /usr/local/webserver/redis /usr/local/webserver/redis-slave1
cp -r /usr/local/webserver/redis /usr/local/webserver/redis-slave2
2:修改 redis-slave1 的配置文件和服务脚本
-- vi /usr/local/webserver/redis-slave1/conf/redis.conf --
port 63791
pidfile /usr/local/webserver/redis-slave1/run/redis.pid
dir /usr/local/webserver/redis-slave1/db
slaveof 127.0.0.1 6379
----------------------------------------------------------
-- vi /usr/local/webserver/redis-slave1/start.sh --
#!/bin/bash
/usr/local/webserver/redis-slave1/redis-server /usr/local/webserver/redis-slave1/conf/redis.conf
---------------------------------------------------
------- vi /usr/local/webserver/redis-slave1/stop.sh ---------
#!/bin/bash
kill `cat /usr/local/webserver/redis-slave1/run/redis.pid`
--------------------------------------------------------
3:修改 redis-slave2 的配置文件和服务脚本
-- vi /usr/local/webserver/redis-slave2/conf/redis.conf --
port 63792
pidfile /usr/local/webserver/redis-slave2/run/redis.pid
dir /usr/local/webserver/redis-slave2/db
slaveof 127.0.0.1 6379
----------------------------------------------------------
-- vi /usr/local/webserver/redis-slave2/start.sh --
#!/bin/bash
/usr/local/webserver/redis-slave2/redis-server /usr/local/webserver/redis-slave2/conf/redis.conf
---------------------------------------------------
------- vi /usr/local/webserver/redis-slave2/stop.sh ---------
#!/bin/bash
kill `cat /usr/local/webserver/redis-slave2/run/redis.pid`
--------------------------------------------------------
4:启动 M/S 服务
/usr/local/webserver/redis/start.sh
/usr/local/webserver/redis-slave1/start.sh
/usr/local/webserver/redis-slave2/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服务是否生效
/usr/local/webserver/redis/redis-cli [默认连接端口:6379 的 Master服务]
>set key1 val1
>quit
/usr/local/webserver/redis/redis-cli -p 63791 [连接 Slave1 服务]
>get key1
"val1" (数据成功同步了)
/usr/local/webserver/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集群的配置的更多相关文章
- redis单点、redis主从、redis哨兵sentinel,redis集群cluster配置搭建与使用
目录 redis单点.redis主从.redis哨兵 sentinel,redis集群cluster配置搭建与使用 1 .redis 安装及配置 1.1 redis 单点 1.1.2 在命令窗口操作r ...
- Spring-Session实现Session共享Redis集群方式配置教程
循序渐进,由易到难,这样才更有乐趣! 概述 本篇开始继续上一篇的内容基础上进行,本篇主要介绍Spring-Session实现配置使用Redis集群,会有两种配置方式,一种是Redis-Cluster, ...
- spring boot下JedisCluster方式连接Redis集群的配置
最近在使用springboot做项目,使用redis做缓存.在外网开发的时候redis服务器没有使用集群配置,所有就是用了RedisTemplate的方式进行连接redis服务器.但是项目代码挪到内网 ...
- Redis集群模式配置
redis集群部署安装: https://blog.csdn.net/huwh_/article/details/79242625 https://www.cnblogs.com/mafly/p/re ...
- SpringBoot系列教程之Redis集群环境配置
之前介绍的几篇redis的博文都是基于单机的redis基础上进行演示说明的,然而在实际的生产环境中,使用redis集群的可能性应该是大于单机版的redis的,那么集群的redis如何操作呢?它的配置和 ...
- redis集群环境配置
为什么需要集群 redis是一个开源的 key->value 高速存储系统,但是由于redis单线程运行,在系统中,只能利用单核的性能 当redis的调用越来越频繁时,可能会出现redis过于繁 ...
- Redis集群部署一直卡在Waiting for the cluster to join ......(Redis集群总线配置)
redis集群总线端口为redis客户端端口加上10000,比如说你的redis 6379端口为客户端通讯端口,那么16379端口为集群总线端口 我搭建的redis集群中端口号是从 7001 ~ 70 ...
- [转]Redis集群的配置
一:memcache 和 Redis 对比总结 [memecache 特点] 1:速度最快(没有自测,但网上有详细的测试用例) 2:支持水平扩展,可以任意添加节点 [redis 特点] 1:速度没有m ...
- Redis+PHP扩展的安装和Redis集群的配置 与 PHP负载均衡开发方案
以前有想过用 Memcache 实现M/S架构的负载均衡方案,直到听说了 Redis 后才发现它做得更好.发了几天时间研究了一下 Redis ,感觉真的很不错,特整理一下! 以下操作都是在 SUSE ...
随机推荐
- php计算几分钟前、几小时前等
function format_date($time){ $t=time()-$time; $f=array( '=>'年', '=>'个月', '=>'星期', '=>'天' ...
- 怎样打开64位 Ubuntu 的32位支持功能?
转自:http://jingyan.baidu.com/article/7082dc1c539c15e40a89bd3e.html 大多数使用基于 Ubuntu/Debian 的发行版的人都更倾向于选 ...
- Ubuntu14.04LTS系统输入法的安装
由于安装的时候选择的是英文版,所以一进入系统问题就来了:无法输入中文. 我记得自己直接选的输入法是pinyin那个 在网上看到别人到blog,直接转过来吧,只为自己收藏下,如有需要请联系原作者. 转载 ...
- 即时通讯(IM-instant messager)
即时通讯又叫实时通讯,简单来说就是两个及以上的人使用网络进行文字.文件.语音和视频的交流. 首先,进行网络进行通信,肯定需要网络协议,即时通讯专用的协议就是xmpp.xmpp协议要传递的消息类型是xm ...
- SQL单表查询案例
表(emp)结构 (1)查询部门编号为10中所有经理,部门编号为20中所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料. SELECT * FROM emp ; (2 ...
- Chrome浏览器之 Postman 安装
Postman 是一款发送 HTTP 请求的 Chrome 插件.开发后端程序的同学可以用它来测试自己写的应用程序是否能够正常访问. 现在由于国内的网络限制, Chrome 浏览器里无法访问“扩展程序 ...
- 简单区分VMware的三种网络连接模式(bridged、NAT、host-only)
艺搜简介 VMware在安装时默认安装了两块虚拟网卡,VMnet1和VMnet8,另外还有VMnet0.这些虚拟网卡的配置都是由Vmware虚拟机自动生成的,一般来说不需要用户自行设置. Vmware ...
- 转:Docker学习---挂载本地目录
原文: http://my.oschina.net/piorcn/blog/324202 docker可以支持把一个宿主机上的目录挂载到镜像里 docker run -it -v /home/dock ...
- Android内存进程管理机制
参考文章: http://www.apkbus.com/android-104940-1-1.htmlhttp://blog.sina.com.cn/s/blog_3e3fcadd0100yjo2.h ...
- 如何解决在Ue4编辑器中查看中文注释为乱码的情况
一般人都会在自己定义的函数后面添加注释,Ue4会在蓝图编辑器中显示这些注释,这是一个相当棒的设定. 但是如果这些注释是中文的话,在蓝图编辑器中就会显示乱码. 如何解决呢? 只需要把你的文件用UTF-8 ...