加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

关于Redis的n种妙用,不仅仅是缓存

发布时间:2019-06-26 02:46:56 所属栏目:编程 来源:IT界的小柠檬
导读:redis是键值对的数据库,常用的五种数据范例为字符串范例(string),散列范例(hash),列表范例(list),荟萃范例(set),有序荟萃范例(zset)。 Redis用作缓存,首要两个用途:高机能,高并发,由于内存自然支持高并发。 应用场景 漫衍式锁(string

Redis 的耐久化机制有两种,第一种是快照(RDB),第二种是 AOF 日记。快照是一次全量备份,AOF 日记是持续的增量备份。快照是内存数据的二进制序列化情势,在存储上很是紧凑,而 AOF 日记记录的是内存数据修改的指令记录文本。AOF 日记在恒久的运行进程中会变的无比复杂,数据库重启时必要加载 AOF 日记举办指令重放,这个时刻就会无比漫长。以是必要按期举办 AOF 重写,给 AOF 日记举办瘦身。

RDB是通过Redis主历程fork子历程,让子历程执行磁盘 IO 操纵来举办 RDB 耐久化,AOF 日记存储的是 Redis 处事器的次序指令序列,AOF 日记只记录对内存举办修改的指令记录。即RDB记录的是数据,AOF记录的是指令

RDB和AOF到底该怎样选择?

  1. 不要仅仅行使 RDB,由于那样会导致你丢失很大都据,由于RDB是隔一段时刻来备份数据
  2. 也不要仅仅行使 AOF,由于那样有两个题目,第一,通过 AOF 做冷备没有RDB规复速率快; 第二,RDB 每次简朴粗暴天生数据快照,越发结实,可以停止 AOF 这种伟大的备份和规复机制的 bug
  3. 用RDB规复内存状态会丢失很大都据,重放AOP日记又很慢。Redis4.0推出了殽杂耐久化来办理这个题目。将 rdb 文件的内容和增量的 AOF 日记文件存在一路。这里的 AOF 日记不再是全量的日记,而是自耐久化开始到耐久化竣事的这段时刻产生的增量 AOF 日记,凡是这部门 AOF 日记很小。于是在 Redis 重启的时辰,可以先加载 rdb 的内容,然后再重放增量 AOF 日记就可以完全更换之前的 AOF 全量文件重放,重启服从因此大幅获得晋升。
缓存雪崩缓和存穿透

缓存雪崩是什么?

假设有如下一个体系,岑岭期哀求为5000次/秒,4000次走了缓存,只有1000次落到了数据库上,数据库每秒1000的并发是一个正常的指标,完全可以正常事变,但假如缓存宕机了,每秒5000次的哀求会所有落到数据库上,数据库立马就死掉了,由于数据库一秒最多抗2000个哀求,假如DBA重启数据库,立马又会被新的哀求打死了,这就是缓存雪崩。

关于Redis的n种妙用,不只仅是缓存(附有自学资料分享哦)

怎样办理缓存雪崩

事前:redis高可用,主从+哨兵,redis cluster,停止通盘瓦解

事中:当地ehcache缓存 + hystrix限流&降级,停止MySQL被打死

过后:redis耐久化,快速规复缓存数据

缓存穿透是什么?

若是客户端每秒发送5000个哀求,个中4000个为黑客的恶意进攻,即在数据库中也查不到。举个例子,用户id为正数,黑客结构的用户id为负数,

假如黑客每秒一向发送这4000个哀求,缓存就不起浸染,数据库也很快被打死。

关于Redis的n种妙用,不只仅是缓存(附有自学资料分享哦)

怎样办理缓存穿透

查询不到的数据也放到缓存,value为空,如set -999 “”

总而言之,缓存雪崩就是缓存失效,哀叱责部所有打到数据库,数据库刹时被打死。缓存穿透就是查询了一个必然不存在的数据,而且从存储层查不到的数据没有写入缓存,这将导致这个不存在的数据每次哀求都要到存储层去查询,失去了缓存的意义。

【编辑保举】

  1. 一文相识各类数据库默认驱动、URL、端口
  2. 一次诡异的数据库“死锁”,题目毕竟在那边?
  3. Web端开源的大都据库支持打点器材,终于发明它了
  4. 漫衍式Redis的漫衍式锁Redlock
  5. 口试官:你看过Redis数据布局底层实现吗?
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读