怎么配置一个读写分离的redis-replication主从架构?(代码片段)

背井 背井     2023-03-01     524

关键词:

前言

·在看这篇文章之前我想你已经知道怎么去配置一台生产环境的redis,而不是简简单单的解压、然后在服务器上敲敲命令,就完事了。配置文件redis.conf中的东西也不知道怎么该,RDB和AOF也不知道怎么开启持久化,以及容灾怎么去进行数据的备份。还有就是redis服务怎么配置开机自启动。·

这个是生产环境redis的配置文档redis生产环境的配置文档

搞两台配置好的redis,开始撸起。

1、主节点修改配置文件

1.1、设置口令认证

1.2、绑定主节点的ip

2、从节点修改配置文件

2.1、从节点配置主节点的IP和端口号

2.2、从节点配置成只读,这个配置不用改默认就是只读

2.3、主节点开启了认证口令,从节点要配置主节点的口令

2.4、从节点绑定自己的IP

3、主节点进入命令行

命令
[root@emooco init.d]# redis-cli -h 172.16.198.135
图解

4、主节点添加数据

命令
172.16.198.135:6379> set k4 v4
图解


出现了(error) NOAUTH Authentication required. 问题

问题的解决
命令
172.16.198.135:6379> auth master-slave
OK

需要进行认证登陆,因为我们redis.conf配置文件中开启了安全认证

5、主节点获取数据

命令
172.16.198.135:6379> get k
图解

主节点查看节点信息


从上图可以看出该节点的角色是master,并且链接的从节点的个数是一个,而且也可以看出从节点的IP和端口号,以及对应的offerset的值

6、从节点添加数据

命令
172.16.198.136:6379> set k v
图片


从节点添加数据失败,因为我们设置了只读,从节点只能读取数据

7、从节点获取数据

命令
172.16.198.136:6379> get k3

图解

从节点查看节点信息


从上图可以看出这个节点的角色是slave节点,从节点,也可以看到主节点的IP和端口号等等信息,有兴趣的可以自己去看官方文档的解释

8、对于更多的一主多从的配置

主节点的工作是写入数据

从节点的工作就是读取数据

一主多从的目的就是读写分离,支撑高并发,以上的案例只是配置了一主一从,要想 一主多从,那不就是水平扩展吗?只需要将从节点的配置多复制几份不就可以了吗?

怎么配置一个读写分离的redis-replication主从架构?(代码片段)

前言·在看这篇文章之前我想你已经知道怎么去配置一台生产环境的redis,而不是简简单单的解压、然后在服务器上敲敲命令,就完事了。配置文件redis.conf中的东西也不知道怎么该,RDB和AOF也不知道怎么开启持久化,以... 查看详情

laravel-mongodb怎么读写分离

参考技术A就是配置两个mongodb的配置,然后用onWriteConnection这个方法。具体怎么你可以看官网,这里就不复述了本回答被提问者和网友采纳 查看详情

django配置数据库读写分离(代码片段)

...注意,还需要运维人员作数据库的读写分离和数据同步。配置数据库我们知道在Django项目的settings中,可以配置数据库,除了默认的数据库,我在下面又加了一个db2。因为是演示,我这里用的是默认的SQLite,如果希望用MySQL,看... 查看详情

mycat读写分离的简单实现(代码片段)

文章目录1、Mycat读写分离的配置1.1、Mycat是什么1.2、Mycat能干什么1.2.1、数据库的读写分离1.2.1.1、数据库读写分离图解1.2.2、数据库分库分表1.2.2.1、水平拆分(分库)1.2.2.2、垂直拆分(分表)1.3、Mycat的搭建1.3.1、... 查看详情

mycat读写分离和分库分表配置

Mycat是一个开源的分布式数据库系统,不同于oracle和mysql,Mycat并没有存储引擎,但是Mycat实现了mysql协议,前段用户可以把它当做一个Proxy。其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端mysql存储引擎里面... 查看详情

elasticsearch冷热数据的读写分离

 步骤一、冷热分离集群配置比如三个机器共六个node的es集群。每个机器上各挂载一个ssd和一个sata。每个机器需要启动两个es进程、每个进程对应不同类型的磁盘。关键配置:node.max_local_storage_nodes:2 #允许每个机器启动两... 查看详情

sharding-jdbc几行配置实现读写分离~

大家好,我是不才陈某~今天聊一下如何通过Sharding-JDBC简单的实现读写分离~为什么要读写分离?读写分离则是将事务性的增、改、删操作在主库执行,查询操作在从库执行。一般业务的写操作都是比较耗时,为了避免写操作影响... 查看详情

读写分离注解

...,就找到了要使用的数据源。  在数据源的这里,最后配置上连接池。 3.说明  本配置直接使用一个公共的连接池配置,如果需要,自己进行配置 二:程序说明1.连接池配置packagecom.jun.webpro.common.config.dataSource.propertie... 查看详情

mysql的读写分离

1、laravel实现数据库读写分离配置或者多读写分离配置configdatabase.php里配置‘connections‘=>array(     //默认mysql配置,访问test库    ‘mysql‘=>array(     &nbs 查看详情

spring配置动态数据源-读写分离和多数据源

  在现在互联网系统中,随着用户量的增长,单数据源通常无法满足系统的负载要求。因此为了解决用户量增长带来的压力,在数据库层面会采用读写分离技术和数据库拆分等技术。读写分离就是就是一个Master数据库,多个Sla... 查看详情

springmongodb复制集配置(实现读写分离)

注:mongodb当前版本是3.4.3 spring连接mongodb复制集的字符串格式:mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]mongodb://前缀,代表这是一个ConnectionString 查看详情

amoeba实现mysql读写分离(代码片段)

...用性等需求,与MySQL官方的MySQLProxy相比,作者强调的是amoeba配置的方便.MySQL主从配置1.主从服务器需要配置好主从关系,主从服务器都需要安装MySQL.[[ema 查看详情

使用adivisor配置增强处理,来实现数据库读写分离

一、先写一个demo来概述Adivisor的简单使用步骤实现步骤:1、通过MethodBeforeAdivice接口实现前置增强处理1publicclassServiceBeforeAdvisorimplementsMethodBeforeAdvice{2privateLoggerlogger=Logger.getLogger(ServiceBeforeAdvisor.class);3@Overr 查看详情

sqlserver中配置读写分离

...订阅向导的时候建。 (2)服务器电脑中服务的配置2.配置分发如果是远程服务器,一定要用mstsc登录远程服务器内,在服务器中的SSMS中操作,且需用sa账户登录(1)右键【复 查看详情

主从复制和读写分离(代码片段)

...主从复制1)Mysql主从服务器时间同步2)主服务器的mysql配置3)从服务器的mysql配置4)验证主从复制效果2.搭建Mysql读写分离1)Amoeba服务器配置安装java环境安装Amoeba软件2)主从服务器的mysql上授权3)配置Amoeba... 查看详情

django13/缓存信号django的读写分离(代码片段)

...python-memcached模块)Memcache缓存(pylibmc模块)各种方式的配置1、将缓存内容保存在内存的变量中(django的默认配置)#settings配置文件中写如下配置:CACHES='default':'BACKEND':'django.core.cache.backends.locmem.LocMemCache','LO... 查看详情

clickhouse读写分离方案

参考技术A1、通过上面的配置,写的时候,我们自己控制写到除第一个replica的其他replica上;在通过分布式表读的时候,就会自动把读请求分发到第一个replica上,再利用复制特性把数据同步到自己replica上。通过这样子的设计,使... 查看详情

redis读写分离

参考技术A主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slave以读为主配置从机的方式有两种,一种是通过slaveof命令进行配置,另一种是通过配置文件1.使用slaveof命令配置当前机器为从机2.... 查看详情