Redis配置主从架构,实现读写分离_deeplearnings的博客-CSDN博客


本站和网页 https://blog.csdn.net/deeplearnings/article/details/78397319 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Redis配置主从架构,实现读写分离_deeplearnings的博客-CSDN博客
Redis配置主从架构,实现读写分离
deeplearnings
于 2017-10-30 21:03:09 发布
1984
收藏
分类专栏:
redis
redis
专栏收录该内容
5 篇文章
0 订阅
订阅专栏
Redis的主从架构,能帮助我们实现读多,写少的情况,下面配置Redis架构,很简单。
准备环境 vmware + rhel-server-7.0(101,102,103)+redis-3.2.0
1、在192.168.137.101安装好redis3.2.0,我安装的目录如下
redis的安装参考http://blog.csdn.net/yingxiake/article/details/51469364
2、通过ssh将redis文件夹copy到102和103的linux上
scp -rf redis/ root@192.168.137.102:/home/redis
scp -rf redis/ root@192.168.137.103:/home/redis
123
102,103的redis目录如下,说明copy成功
3、配置master和slave关系,有如下俩种方式
a) 在redis.conf中设置slaveof,永久性
slaveof <masterip> <masterport>
b)使用redis-cli客户端设置redis服务,暂时,redis重启失效
slaveof <masterip> <masterport>
在102和103的conf/redis.conf的配置文件配置为101的slave关系
master的密码可以直接在配置文件里面配置
4、查看设置情况,使用如下命令
info replication
101的主从关系,可以看slaves的连接数还有ip地址,端口
102,103的主从关系,可以看master]的ip地址,端口
若发现配置没有问题,但是master_link_status一直是down,connected_slaves一直是0,查找下,是不是三个ip之间不能拼通,如果能拼通,查看下端口是否能拼通,可以在windows上通过telnet
telnet 192.168.137.101 6379
如果发现不能拼通,修改下配置文件,将
bind 127.0.0.1
注释掉,重启服务,再试试,参考下http://blog.csdn.net/yingxiake/article/details/51472810
5、测试是否数据同步
在master设置一个key和value
在101和102上分别get数据
说明数据同步成功,接下来把102down掉,再重启,然后get数据
说明数据恢复成功,另外也说明在主从结构中,slave不能写数据
Redis复制工作原理: 1. 如果设置了一个Slave,无论是第一次连接还是重连到Master,它都会发出一个SYNC命令; 2. 当Master收到SYNC命令之后,会做两件事: a) Master执行BGSAVE,即在后台保存数据到磁盘(rdb快照文件); b) Master同时将新收到的写入和修改数据集的命令存入缓冲区(非查询类); 3. 当Master在后台把数据保存到快照文件完成之后,Master会把这个快照文件传送给Slave,而Slave则把内存清空后,加载该文件到内存中; 4. 而Master也会把此前收集到缓冲区中的命令,通过Reids命令协议形式转发给Slave,Slave执行这些命令,实现和Master的同步; 5. Master/Slave此后会不断通过异步方式进行命令的同步,达到最终数据的同步一致; 6. 需要注意的是Master和Slave之间一旦发生重连都会引发全量同步操作。但在2.8之后版本,也可能是部分同步操作。
部分复制 2.8开始,当Master和Slave之间的连接断开之后,他们之间可以采用持续复制处理方式代替采用全量同步。 Master端为复制流维护一个内存缓冲区(in-memory backlog),记录最近发送的复制流命令;同时,Master和Slave之间都维护一个复制偏移量(replication offset)和当前Master服务器ID(Master run id)。当网络断开,Slave尝试重连时: a. 如果MasterID相同(即仍是断网前的Master服务器),并且从断开时到当前时刻的历史命令依然在Master的内存缓冲区中存在,则Master会将缺失的这段时间的所有命令发送给Slave执行,然后复制工作就可以继续执行了; b. 否则,依然需要全量复制操作;
Redis 2.8 的这个部分重同步特性会用到一个新增的 PSYNC 内部命令, 而 Redis 2.8 以前的旧版本只有 SYNC 命令, 不过, 只要从服务器是 Redis 2.8 或以上的版本, 它就会根据主服务器的版本来决定到底是使用 PSYNC 还是 SYNC :
如果主服务器是 Redis 2.8 或以上版本,那么从服务器使用 PSYNC 命令来进行同步。 如果主服务器是 Redis 2.8 之前的版本,那么从服务器使用 SYNC 命令来进行同步。
deeplearnings
关注
关注
点赞
收藏
评论
Redis配置主从架构,实现读写分离
Redis的主从架构,能帮助我们实现读多,写少的情况,下面配置Redis架构,很简单。准备环境 vmware + rhel-server-7.0(101,102,103)+redis-3.2.01、在192.168.137.101安装好redis3.2.0,我安装的目录如下redis的安装参考http://blog.csdn.net/yingxiake/ar
复制链接
扫一扫
专栏目录
.NetCore使用Redis,StackExchange.Redis队列,发布与订阅,分布式锁的简单使用
kaixincheng2009的专栏
08-25
1231
https://www.cnblogs.com/Fengge518/p/13556182.html环境:之前一直是使用serverStack.Redis的客服端,今天来使用一下Stack...
springboot+mybatis+druid+redis实现数据库读写分离和缓存
04-12
springboot+mybatis+druid+redis实现数据库读写分离和缓存
评论 1
您还未登录,请先
登录
后发表或查看评论
springboot中实现redis读写分离
attackers的博客
07-22
1万+
方案1:springboot在建立数据库连接之前使用aop方式;
方案2:切换redisTemplate
方案3:。。。
这里先就方案二给出代码实现,
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spr...
redis进阶:redis主从架构原理及搭建
最新发布
55555的博客
10-30
1038
至此,我们的主从架构就搭建完成了,实际上我们只需要一个replicaof 主节点IP 端口就能实现主从同步,非常简单。需要注意的是,实际操作过程中注意开启对应的redis端口或者关闭防火墙(生产环境不建议关闭)下期继续带大家实操redis哨兵模式。
laravel redis_redis主从配置
weixin_39944375的博客
11-24
150
不管windows 还是linux主从配置一样,无非启动方式不同而已,今天犯懒直接用windows弄得主从配置第一步:先配置redis。conf(Windows中的是redis.windows.conf) 将redis下载后复制三分,分别命名为,redis6379:主服务器、redis6380:从服务器1、redis6381:主服务器2第二部:修改主从服务器配置:redis.windows.con...
Python 操纵 Redis 实现 MySQL 的读写分离
kingdow-liu
05-23
182
待更新…
简单redis集群搭建-----redis读写分离
浪舟子的博客
05-01
985
注:此博客或为自己所写,以供自己学习记录
废话不说了,直接开始整吧。。。
一个简单架构图
上边的简单架构图就体现了我需要做的事情,从架构图中可以看出是一个三个机器的集群,那么就首先需要准备三台服务器,这里我使用虚拟机来搭建,首先装好三台centos的机器,展示一下我的三台机器吧(机器的名称说明不了什么,其实这三台虚拟机是我为搭建服务器集群准备的,正好用上,哈哈):
这里我将tomc...
SpringBoot整合Redis集群读写分离(Lettuce客户端)
Android_la的博客
02-15
3178
文章目录一. 问题背景二. 版本说明三. 前言四. 如何实现读写分离?五. 动手实现读写分离5.1 整合Lettuce5.1 向Spring注册连接组件5.2 测试
一. 问题背景
前面研究了SpringBoot整合Redis集群(Lettuce客户端),然后尝试玩玩读写分离,客户端使用Lettuce(SpringBoot2.x已经默认支持Lettuce了,就不再研究Jedis客户端了)。虽然最新版的Redis Cluster集群架构不推荐读写分离,但是还是想玩玩。文末提供源码
参考自:
Redis.
redis 主从配置_Laravel 使用Redis缓存集群,主从集群配置就这么简单?
weixin_39793564的博客
12-08
785
前一节我们安装了Redis主从复制,在主从复制中,完成了数据的同步,master宕机后,可以切换到另外一台redis服务器进行读取和写入,完全没有不影响业务切换。这一节我们讲解,Laravel中使用Redis从主从中读取和写入数据。本节主要讲解redis的主从复制和读写分离:一、编译安装php-redis扩展编译1、到http://pecl.php.net/package/redis,搜...
springboot+redis主从复制、哨兵、读写分离
Remember_Z的博客
03-02
2495
redis安装、主从配置、哨兵配置、以及在springboot中的集成、读写分离等。
【redis源码学习】redis启动并读取配置文件的过程
看,未来的博客
12-24
924
文章目录配置文件redisServermain函数initServerConfigloadServerConfigFromString
配置文件
一个好的项目,是无状态的。
状态在哪里?在配置文件里。
这不我的毕设马上要用到开机配置文件了嘛,但是没有什么太好的想法,于是就想着学学redis是如何实现这个过程的,学完马上就能学以致用了。
redis服务器的启动命令如下:
redis-server [configfile] [options]
configfile 参数指定配置文件,options 参数指定.
SpringBoot中Redis Sentinel模式下读写分离
星猿
09-01
1622
前言
Redis 的 Sentinel 模式下最少是 一主二从,不算 Sentinel 节点要占用3个节点。
而且默认配置下 redis 的客户端只对 Master 读写,另外2个Slave闲置,在网上找了很久都是自己去获取Slave然后code写到slave的redisTemplate上。
下面就通过一个简单的配置,把写在Master,读在Slave。
当然你也可以换成 Cluster 模式(最少6个节点)。
环境
SpringBoot 版本 2.4.2
<parent>
<group
搭建redis主从复制(读写分离)
qq_44299529的博客
03-02
1559
一、主从复制原理
在搭建redis读写分离架构时,master必须开启持久化。(可参考博客,RDB和AOF持久化策略一起使用也行Redis的持久化机制(RDB和AOF)(1)_p&f的博客-CSDN博客)
一旦master宕机,虽然slave可以继续提供读服务。但等到master恢复,由于没有持久化,内存里面没有任何数据,master再次做数据同步的时候,会把slave里的数据清空。
二、本博客实现的redis主从复制架构
三、具体实现
1、先配置129从机。进入redis主配置文件夹
Redis集群 - 配置最简单的Redis主从
热门推荐
04-08
3万+
要求:
1、你已经知道redis是什么
2、熟悉Linux基本操作(CentOS 6.5)
3、有单机redis开发相关经验
4、有主观能动性,至少熟练百度的使用
redis主从配置初步:2个节点主从如果我们redis的压力很大,如果我们的并发高到我们读数据和写数据都有了很大压力。
那么我们可能就需要把redis分开部署,并且配置为一个『主从』的状态。
首先我们要安装red
python导入哨兵数据_python redis客户端操作redis(读写分离、哨兵连接、分布式连接)...
weixin_39684495的博客
11-29
76
下载老版本客户端:wget https://pypi.python.org/packages/source/r/redis/redis-2.10.1.tar.gz --no-check-certificate解压并安装:tar zxf redis-2.10.1.tar.gz && cd redis-2.10.1 && python setup.py install编辑py文件:vim olda....
Redis配置主从复制,实现读写分离
赵阳的博客
09-04
9766
前言:
由于redis的高性能,在应用中对其依赖很高,有时候一台redis服务器性能不够,需要配置redis集群。最简单的就是一台用来读,一台用来写。一般对读的需求比较大,所以可以配置一主(读)多从(写)。
本次是在本地搭建两台虚拟机分别做一主一从。
ip为192.168.2.100为主服务器
ip为192.168.2.101为从服务器
一、安装redis
首先...
redis实战--redis主从复制实现读写分离(原理)
码农时代
07-25
1万+
1、redis高并发跟整个系统的高并发之间的关系
redis,你要搞高并发的话,不可避免,要把底层的缓存搞得很好
mysql,高并发,做到了,那么也是通过一系列复杂的分库分表,订单系统,事务要求的,QPS到几万,比较高了。
单机redis 的QPS只能是上万,所以就会有系统瓶颈。
读写分离,一般来说,对缓存,一般都是用来支撑读高并发的,写的请求是比较少的,可能写请求也就一秒钟几千,一两千 ...
springboot+jedis+读写分离+哨兵模式+集群高可用
Towin_hong的博客
12-18
1万+
springboot+jedis+读写分离+哨兵模式+集群高可用 有demo下载
准备软件:
1. Redis-x64-3.0.502.zip
2. rubyinstaller-2.4.2-2-x64.exe
3. rubygems-2.7.3.zip
4. redis-trib.rb
安装开始:
1. 首先将redis 解压复制三份(至少是三份,搭建集群需要至少三个)
分别修改成对应端口:
redis缓存持久化有俩
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
deeplearnings
CSDN认证博客专家
CSDN认证企业博客
码龄5年
暂无认证
原创
15万+
周排名
88万+
总排名
21万+
访问
等级
1664
积分
14
粉丝
37
获赞
16
评论
132
收藏
私信
关注
热门文章
自建邮件服务器域名解析设置(A与MX记录)
43313
pom.xml中引入依赖时有红色字体
29482
mysql主从复制(超简单)
15426
Linux chmod命令 修改文件权限被禁止(not permitted)的解决办法
15229
Linux渗透之反弹Shell命令解析
9597
分类专栏
前端框架
1篇
运维
14篇
人工智能
安防
4篇
sql
2篇
git
4篇
js
2篇
java
4篇
spring cloud
1篇
Intelli IDEA
理论
1篇
Hibernate
1篇
Intelli-idea
1篇
mysql
3篇
redis
5篇
androidstudio
1篇
spring Security
docker
1篇
邮箱服务器
2篇
laravel
1篇
最新评论
Linux chmod命令 修改文件权限被禁止(not permitted)的解决办法
界河之子:
sudo chmod也不行
secureCRT中文横向显示的设置
fuerchun:
如何设置成国中文界面的呢,网上很多方法都是假的,只是设置SHELL里面支持显示中文,并不是SecureCRT软件界面的中文。所以如果需要SecureCRT软件界面中文需要如何设置呢
Linux chmod命令 修改文件权限被禁止(not permitted)的解决办法
Orcatt:
如果chatter不行 可以考虑在权限设置前加sudo[code=csharp]
sudo chmod 777 nginx.conf
[/code]
如何理解java.io.Serializable接口
是阿超:
了解了,感谢博主分享~~~
自建邮件服务器域名解析设置(A与MX记录)
Miraculo~B:
确实。
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
secureCRT中文横向显示的设置
亚马逊运营必备实用工具
Vue与React不是真正的响应式编程,Svelte才是正宗
2022年1篇
2021年1篇
2019年4篇
2018年8篇
2017年36篇
目录
目录
分类专栏
前端框架
1篇
运维
14篇
人工智能
安防
4篇
sql
2篇
git
4篇
js
2篇
java
4篇
spring cloud
1篇
Intelli IDEA
理论
1篇
Hibernate
1篇
Intelli-idea
1篇
mysql
3篇
redis
5篇
androidstudio
1篇
spring Security
docker
1篇
邮箱服务器
2篇
laravel
1篇
目录
评论 1
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值