redis主从配置+集群搭建

这篇具有很好参考价值的文章主要介绍了redis主从配置+集群搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么需要主从配置?????

当出现高并发流量情况 如果我们只有一个redis服务器 挂掉之后 网站的运营会出现问题.
我们可以多弄几台redis服务器,使得一台服务器挂掉自动切换到另一台redis服务器,这个时候就实现了一个高可用的系统
主从配置 环境是2台 ubuntu server 18.04 虚拟机

首先安装redis-server

sudo apt-get update  
sudo apt-get install redis-server

主库配置. 修改配置文件

vim /etc/redis/redis.conf

# bind 127.0.0.1 ::1   注释掉这个外链地址 允许外部连接麻   不然从库怎么去连接呢  对吧
  • 从库配置(也需要安装redis)也就是另一台服务器
修改配置文件
vim /etc/redis/redis.conf

# slaveof 主库ip 主库端口号  把这行注释打开  

配置完成都需要去重启服务
  • 主库查看

配置完成之后就需要去查看是否配置成功了,然后去主库服务器上使用redis-cli 连接

输入 info命令查看
有一个 Replication
connected_slaves:1 为一就说明有了一个重库 好吧 因为比较简单 所以不做详细说明

手动搭建redis集群

  • 集群搭建一般需要的服务器比较多 redis最少需要6台 3主3从 我如果开这么多虚拟机我电脑可能炸掉 所以我直接在一台虚拟机上面搭建6个redis
  • 使用不同的端口号 redis版本使用的是4.0
  • 安装redis

在官网找到redis的包 使用wget获取资源 然后解压 因为官方提供了makefile 所以比较方便 直接make就可以了 编译好的会出现在src目录里面

  • 如果是一台新的机器 可能一些依赖都是需要我们自己手动去安装 apt-get install gcc g++ make 对吧 随后就可以为所欲为

为了方便 我直接把我们需要用到的一些东西直接拷贝到了我的家目录

cp ./src/redis-server /home/test/redis-cluster/
cp ./src/redis-cli /home/test/redis-cluster/
cp ./src/redis-trib.rb /home/test/redis-cluster/

拷贝过去后 然后我去redis-cluster里面创建6个文件夹 每个存放一个redis服务

mkdir 7000 7001 7002 7003 7004 7005

给每一个文件夹都设置他们的配置文件

redis.conf (内容如下)

port 7000  这是端口                  //你希望是啥就是啥
cluster-enabled yes                 //开启集群模式
cluster-config-file nodes.conf      //集群的配置  配置文件首次启动自动生成 
cluster-node-timeout 5000           //请求超时
appendonly yes                      //aof日志开启  有需要就开启,它会每次写操作都记录一条日志
  • 然后分别去每个目录下启动每个服务

../redis-server ./redis.conf 这样启动会发现 如果我们将终端关闭 这个redis也就关闭 所以我们使用nohub命令去后台运行

nohup ../redis-server ./redis.conf & 启动完6个redis

  • 随后我们需要创建集群

使用redis-trib.rb 来创建
因为是ruby编写的 所以需要先安装一个redis 顺便安装一个rubyredis gem install redis

  • 使用命令
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

这里使用的命令是create,因为我们要创建一个新的集群。该选项–cluster-replicas 1意味着我们希望每个创建的主服务器都有一个从服 其他参数是我要用于创建新集群的实例的地址列表。

显然,我们要求的唯一设置是创建一个包含3个主服务器和3个从服务器的集群。

Redis-cli将为您提供配置。键入yes接受建议的配置。将配置并加入群集,这意味着实例将被引导为彼此通信。最后,如果一切顺利,你会看到这样的消息:
[OK] All 16384 slots covered 这意味着至少有一个主实例为16384个可用插槽提供服务。

然后使用 redis-cli -c -p 7000 连接redis (-c 代表集群模式)

set name test

然后切换别的redis服务 去get 获取成功.

参考来源:憧憬在 aoppp.com发布文章来源地址https://www.toymoban.com/news/detail-490778.html

到了这里,关于redis主从配置+集群搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么需要单元测试?

    为什么需要单元测试? 从产品角度而言,常规的功能测试、系统测试都是站在产品局部或全局功能进行测试,能够很好地与用户的需要相结合,但是缺乏了对产品研发细节(特别是代码细节的理解)。 从测试人员角度而言,功能测试和系统测试以及其他性能测试等等对测试

    2024年02月12日
    浏览(64)
  • 为什么需要uboot?

    bootROM: 一种固化在芯片内部的只读存储器(ROM),用于启动和初始化系统。BootROM 中通常包含了一些预先编写好的代码,用于完成系统启动前的基本初始化和配置, 例如初始化时钟、GPIO控制器、中断控制器、存储设备(SD卡、NAND Flash、SPicy Flash)等硬件资源, 检测启动设备

    2023年04月23日
    浏览(61)
  • 为什么需要超时控制

    本文将介绍为什么需要超时控制,然后详细介绍Go语言中实现超时控制的方法。其中,我们将讨论 time 包和 context 包实现超时控制的具体方式,并说明两者的适用场景,以便在程序中以更合适的方式来实现超时控制,提高程序的稳定性和可靠性。 超时控制可以帮助我们避免程

    2024年02月03日
    浏览(52)
  • 为什么需要websocket?

    前端和后端的交互模式最常见的就是前端发数据请求,从后端拿到数据后展示到页面中。如果前端不做操作,后端不能主动向前端推送数据,这也是http协议的缺陷。        因此,一种新的通信协议应运而生---websocket,他最大的特点就是服务端可以主动向客户端推送消息,客

    2024年02月12日
    浏览(56)
  • 为什么CPU需要时钟

    为什么CPU需要时钟这样一个概念? 什么是时钟脉冲,CPU为什么需要时钟,时钟信号是怎么产生的? 上面这个图的方波就是一个脉冲,类比于人类的脉搏跳动。一个脉冲称之为CPU的一个 时钟信号 ,或者 时钟脉冲 。一个脉冲周期就叫CPU时钟周期,一个时钟周期内时钟信号震荡一

    2023年04月11日
    浏览(49)
  • 爬虫为什么需要ip

    爬虫需要使用爬虫ip主要是为了解决以下问题: 1、反爬虫机制:许多网站会设置反爬虫机制来防止爬虫程序的访问,例如限制IP地址的访问频率、检测访问来源等。使用爬虫ip可以绕过这些限制,使得爬虫程序更难被检测到。 2、访问限制:有些网站可能会对某些地区的IP地址

    2024年02月02日
    浏览(55)
  • 爬虫时为什么需要代理?

    我们都知道爬虫时是需要代理地址介入的。使用代理可以隐藏你的真实IP地址,防止被网站封禁或限制访问。此外,代理还可以帮助你绕过地理限制,访问被封锁的网站或服务。但是请注意,使用代理也可能会带来一些风险,例如代理服务器可能会记录你的访问数据,或者代

    2024年02月06日
    浏览(52)
  • 为什么自动驾驶需要5G?

    什么叫自动驾驶? 自动驾驶分为6个等级: Level 0: 人工驾驶,无驾驶辅助系统,仅提醒。 Level 1: 辅助人工驾驶,可实现单一的车速或转向控制自动化,仍由人工驾驶(如定速巡航、ACC)。 Level 2: 部分自动驾驶,可实现车速和转向控制自动化,驾驶员必须始终保持监控(

    2024年02月08日
    浏览(61)
  • 为什么需要对相机标定?

    以下内容来自系统教程如何搞定单目/鱼眼/双目/阵列 相机标定? 点击领取相机标定资料和代码 为什么需要对相机标定? 我们所处的世界是三维的,而相机拍摄的照片却是二维的,丢失了其中距离/深度的信息。从数学上可以简单理解为,相机本身类似一个映射函数,其将输

    2024年02月06日
    浏览(51)
  • 什么是分库分表?为什么需要分表?什么时候分库分表

    不急于上手实战  ShardingSphere  框架,先来复习下分库分表的基础概念,技术名词大多晦涩难懂,不要死记硬背理解最重要,当你捅破那层窗户纸,发现其实它也就那么回事。 分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技

    2023年04月26日
    浏览(142)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包