当前位置: 首页 > news >正文

Redis主要问题

Redis

redis是单线程,基于内存操作,所以执行很快。,与网络延迟有关。

还是买早餐的例子,从早餐店买一个包子,首先早餐店得还有包子没有卖完,然后卖出,包子数量-1,重新设定早餐店包子的剩余数量。
假设现在早餐店只有一个包子了,但是有两人都来买包子,第一个人早一分钟询问了店家,还有没有包子,第二个人随后也询问了还有没有包子,那么他们都会得到还有一个包子的回答。(人和人之间没有交流的前提),那么当第一个人买的包子以后,库存变为了0,造成第二个苦苦等待以后,早餐店并没有给出他需要买的哪一个包子,也就是,程序卡住了,没货了~

使用synchronized(同一个JVM),锁住,可以理解为让买包子的人排队,不排队就不让买。但一个早餐铺可能有两个窗口卖包子,也就是说排队有两列排队,那么卡住的可能还是很大。(不同的JVM有自己的synchronized,并不能同时处理两列排队,也就是不能同时处理不同节点的线程)。

这个时候,就需要分布式锁

分布式锁

其实就是设置一个卖包子询问员,买包子的人,排队排了无论多少列,都要先来问一问询问员,前面有人买包子吗?没人我就要去排队了,有人我就再等等。

也就是通过分布式锁,获取一个线程,该线程未结束之前,不释放锁,这样其他线程就是反复请求,直到锁被释放。

setnx(set if not exists)
SET lock value NX EX 2

其中NX指的是互斥锁,EX为设置过期时间,避免发生死锁问题,利用releaseTime给锁续期(看门狗),但需要手动释放锁。

DEL key

DEL 释放锁,删除的缩写。

集群方案

主从复制

集群中会有一个主节点,有其他的从节点,主节点写数据,从节点读数据。

哨兵机制

检查主从节点(监控),如果有主节点宕机了,那么会选取一个从节点重新作为主节点(自动故障恢复),会将最新的信息推送到redis的客户端(通知)。

主要是基于心跳机制检测服务的状态,心跳(短时间内跳动一次,输送一次血液)。那么哨兵就是每隔1s就会向集群中的每个实例发送ping命令,也就是一直问你,你在家吗?在家我就走了,不在家我就要找人来看房子了。

会存在一个问题,脑裂。简单的理解,就是,裂开了,因为网络分区的问题,会使得主节点与从节点处于不同分支网络,这就导致,产生两个集合(1.主节点 2.从节点)。那么在2集合中,由于没有感受到“心跳”,哨兵会自动委任一个主节点,这样就使得一个任务中,存在两个主节点。
而解决办法,就是把老的主节点干掉,但是由于之前的程序任务主要面向老主节点写入数据,干掉老主节点以后,会导致数据丢失问题。或是配置减少节点数据。

http://www.lryc.cn/news/439844.html

相关文章:

  • vue3 ref的用法及click事件的说明
  • 通信工程学习:什么是HFC混合光纤同轴电缆
  • 怎么浏览URL的PDF文件呢
  • 【2025届华为秋招机考三道编程题之一】华为校招留学生软件开发工程师-真题机考笔试/(200分)- 跳格子3(Java JS Python C)
  • 高性能缓存利器:Caffeine 在 Spring Boot 中的应用
  • pWnOS的第二种全新解法(ssh私钥破解、webmin漏洞提权)
  • Maven入门学习笔记
  • linux驱动开发-arm汇编基础
  • 【HarmonyOS】鸿蒙头像上传-(编辑个人信息页- 头像上传)+实时数据更新
  • [数据集][目标检测]无人机识别检测数据集VOC+YOLO格式6986张1类别
  • 基于SSM的二手交易管理系统的设计与实现 (含源码+sql+视频导入教程+文档)
  • linux-centos 设置系统时间
  • 【Linux基础】冯诺依曼体系结构操作系统的理解
  • 算法题解:斐波那契数列(C语言)
  • SSM 框架 个人使用习惯 详细
  • [羊城杯 2020]Blackcat1
  • 腾讯云Ubuntu系统安装宝塔,配置Java环境,运行spring boot项目
  • 双亲委派机制知识点
  • vue part 11
  • 【QT】常用类
  • 从index_put出发全面学习cuda和pytorch技术
  • 浅谈住房城乡建设部科技创新平台布局重点方向
  • 调用 write()函数后,如何知道数据是否已经写入磁盘?
  • 策略路由与路由策略的区别
  • 从底层原理上理解ClickHouse 中的稀疏索引
  • xtu oj 锐角三角形
  • MATLAB系列04:循环结构
  • 虹科方案 | 精准零部件测试!多路汽车开关按键功能检测系统
  • 【加密算法基础——AES CBC模式代码解密实践】
  • 【ViT+Dis】Deepfake Detection Scheme Based on Vision Transformer and Distillation