首页 > 数据库 >redis

redis

时间:2024-10-23 15:31:41浏览次数:1  
标签:redis 主从 分裂 集群 save 节点

一、集群模式

总结经验

redis主从:可实现高并发(读),典型部署方案:一主二从

redis哨兵:可实现高可用,典型部署方案:一主二从三哨兵

redis集群:可同时支持高可用(读与写)、高并发,典型部署方案:三主三从

 

1.主从模式

优点:读写分离,一主多从,数据备份方便

缺点:无法自动切换主从,无法自动处理故障(无选取机制),无法动态伸缩

 

2.哨兵模式

进阶版主从模式,能自动处理故障

优点:

缺点:

3.cluster模式

优点:可以自动处理故障,自动切换主从,可以动态伸缩

缺点:

 

二、配置文件

# 900秒(15分钟)内至少1个key值改变(则进行数据库保存--持久化) 
save 900 1
save <seconds> <changes>
save ""  表示禁止rdb持久化,打开aof持久化

 三、redis问题

1.脑裂

某个节点由于网络分区或者其他原因,与其他节点失去联系,想独立成为一个实例,从而导致数据不一致或其他问题。

解决方法通常包括以下几个步骤:

  1.  

    检查网络连接:确保所有节点之间的网络连接正常,没有防火墙或网络分裂问题。

     

     

  2.  

    检查集群配置:确保每个节点的redis.conf文件中的集群配置正确,包括集群节点的地址和端口。

     

     

  3.  

    检查集群状态:使用redis-cli工具的CLUSTER INFOCLUSTER NODES命令来检查集群的状态和节点信息。

     

     

  4.  

    解决网络分裂问题:如果发生了网络分裂,需要解决这个问题,可能需要手动干预,将分裂的节点重新连接到集群中。

     

     

  5.  

    数据一致性:在网络分裂问题解决后,确保通过数据恢复或其他手段,保证集群中各个节点的数据一致性。

     

     

  6.  

    监控和预警:设置监控系统,以便在未来发生类似问题时能够快速响应和解决。

标签:redis,主从,分裂,集群,save,节点
From: https://www.cnblogs.com/dxtx/p/18496539

相关文章

  • Mac下为php7.3编译安装Redis扩展(phpredis)教程(使用brew安装的php)
    Mac下为php7.3编译安装Redis扩展(phpredis)教程(使用brew安装的php)_brewphp7.3扩展-CSDN博客此文章为在mac下为php7.*编译安装redis拓展的教程,本教程默认用户已经安装brew,并且php为brew安装,没有安装可自行安装。1.先安装环境依赖。brewinstallautoconfwget若已经安装可......
  • 一文彻底搞定Redis与MySQL的数据同步
    Redis和MySQL一致性问题是企业级应用中常见的挑战之一,特别是在高并发、高可用的场景下。由于Redis是内存型数据库,具备极高的读写速度,而MySQL作为持久化数据库,通常用于数据的可靠存储,如何保证两者数据的一致性需要具体业务场景的设计与优化。下面我们将结合几个典型的业务......
  • Redis过期策略
    一、概述Redis的过期策略主要是用来管理带有过期时间的键,以确保内存能够得到高效利用,并避免保存不再需要的数据。这种设计既能减少不必要的内存占用,又能提高系统的整体性能。二、实现方式过期策略有两种主要实现方式:1、惰性删除(LazyDeletion)Redis只有在访问键时才会......
  • phpstudy php8.2.9 redis使用
    1、卸载8.22、安装8.23、先开启redis缓存4、设置缓存内存大小5、把所有扩展放在C:\php\ext(复制:D:\phpstudy_pro\Extensions\php\php8.2.9nts\ext到C:\php\ext)6、把redis.dll复制进C:\php\ext(下载路径:https://downloads.php.net/~windows/pecl/releases/redis/6.0.2/php_red......
  • Redis Quicklist 竟让内存占用狂降50%?
    0引言Redis作为一种高效的内存型键值数据库,得益于其底层数据结构的精妙设计。对于List类型的数据,Redis从早期的简单链表(linkedlist),到压缩列表(ziplist),再到如今的quicklist和listpack,不断优化以平衡内存利用率和性能。这篇文章将深入剖析Redis的quicklist和listpack......
  • Redis 的位图(Bitmap)设计签到系统
    在使用Redis的位图(Bitmap)实现签到系统时,可以通过字符串的位定位(bitposition)来记录用户的签到状态。这是一种高效的存储和检索方式,因为你可以在一个字符串中使用位来表示二进制状态,通常每一位(bit)代表一个用户或一天的状态。以下是如何实现签到系统的思路:设计数据结构:每个用户......
  • 怎么给docker的redis设置密码
    怎么给docker的redis设置密码设置密码方式1:启动容器时设置dockerrun-itd--nameredis-v1-p6379:6379redis--requirepass123456说明:--name(启动容器的名称)-p宿主机映射端口:容器里的redis启动端口--requirepass启动密码设置密码方式2:修改配置文件1.......
  • Redis的持久化存储和集群管理操作
    Redis的持久化存储和集群一、引言Redis是一个开源的内存数据结构存储系统,被广泛应用于缓存、消息队列、排行榜等场景。然而,由于数据存储在内存中,一旦服务器重启或出现故障,数据就会丢失。为了解决这个问题,Redis提供了两种持久化存储方式:RDB(RedisDatabase)和AOF(AppendOnly......
  • redis mysql nginx的docker-compose
    redismysqlnginx的docker-composeversion:'3'services:nginx:image:docker.m.daocloud.io/nginx:latestcontainer_name:nginxrestart:unless-stoppedenvironment:TZ:Asia/ShanghaiLANG:en_US.UTF-8volumes:#......
  • 一文彻底弄懂并解决Redis的缓存雪崩,缓存击穿,缓存穿透
    缓存雪崩、缓存击穿、缓存穿透是分布式系统中使用缓存时,常遇到的三类问题,都会对系统性能和稳定性产生严重影响。下面将详细介绍这三者的定义、产生原因、危害以及常见的解决方案。1.缓存雪崩1.1定义缓存雪崩是指在某一时刻,大量缓存同时失效,导致大量请求直接打到数据库层,造成......