Redis持久化方式两种方式:RDB(默认)和AOF

1 : RDB持久化原理:通过bgsave命令触发,然后父进程执行fork操作创建子进程,子进程创建RDB文件,根据父进程内存生成临时快照文件,完成后对原有文件进行原子替换(定时一次性将所有数据进行快照生成一份副本存储在硬盘中)
优点:是一个紧凑压缩的二进制文件,Redis加载RDB恢复数据远远快于AOF的方式。
缺点:由于每次生成RDB开销较大,非实时持久化,
2 : AOF持久化原理:开启后,Redis每执行一个修改数据的命令,都会把这个命令添加到AOF文件中。
优点:实时持久化。
缺点:所以AOF文件体积逐渐变大,需要定期执行重写操作来降低文件体积,加载慢

redis是单线程的,但是为什么还是这么快呢,
  原因1: 单线程,避免线程之间的竞争
  原因2 :是内存中的,使用内存的,可以减少磁盘的io
  原因3:多路复用模型,用了缓冲区的概念,selector模型来进行的

1,缓存穿透: 缓存中没有对应数据,且数据库也没有对应数据,并用户频繁访问如(id=-1)导致数据库压力过大(考虑攻击者)
解决方案:加以(接口层,用户,id)等校验方式
2, 缓存击穿:缓存中对应得数据过期,数据库有对应数据,又有大批用户访问该数据导致数据库压力过大
解决方案:(1)可设置热点数据长期有效 (2)加互斥锁
3,缓存雪崩:缓存中大量得数据过期(而不是某一条)导致数据库压力过大甚至宕机
解决方案:(1)控制数据过期时间段不一致 (2)缓存数据分部署对应数据存不同数据库 (3)可设置热点数据长期有效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值