Redis

1.什么是Redis?作用?

Redis是一个基于内存的使用K-V结构存区数据的NoSQL非关系型数据库

Redis的数据存在内存中,读写速度非常快,每秒可以处理超过10万次读写操作,被广泛应用于缓存,经常做分布式锁

2.Redis的基本数据结构类型:

String Hash List Set Zset(有序集合)

3.在项目中为什么使用Redis?

提高查询效率;”保护“关系型数据库

4.Redis为什么这么快

基于内存存储实现;高效的数据结构;单线程,IO多路复用;虚拟内存机制

5.什么是缓存击穿、缓存穿透、缓存雪崩?

a. 击穿:大量热点访问时,热点数据在Redis中不存在或已过期,直接访问数据库,造成数据库访问压力短时激增造成故障

可能的场景:突发热门访问;一个key正被大量访问,这个key过期

解决:预先设置热门数据;实时调整过期时间、自动续期;使用锁、限流,缓存数据不存在时,先把数据存入redis

b. 穿透:Redis中没有数据,数据库中也没有数据,当大量访问时,数据库频繁查找数据,造成压力过大产生故障

可能的场景:访问的数据在redis中数据不存在;非正常数据访问;黑客攻击

解决:对不存在的数据缓存空值;设置白名单;布隆过滤器(更小的内存实现白名单,存在一定的误判)

c. 雪崩:大量key集中过期,数据库短时访问量激增

解决:多级缓存架构;自动续期、自动更新数据,即将过期的数据提前更新;对过期时间使用随机值,分散过期时间

6.Redis的持久化机制有哪些?优缺点?

Redis提供了RDB和AOF两种持久化机制

RDB(Redis Database):就是把内存数据以快照的形式保存到磁盘上

优点:适合大规模的数据恢复场景,如备份、全量复制等,恢复速度快

缺点:没办法做到实时持久化,会丢失一部分新数据

AOF(append only file):采用日志的形式来记录每个写操作,追加到文件中,重启时再充放AOF文件中的命令来恢复数据

优点:数据的一致性和完整性更高

缺点:恢复数据时效率低

7.Redis怎么实现分布式锁?

系统都是分布式部署的,日常开发中,秒杀下单、抢购商品等业务场景,为了防库存超卖,都需要用到分布式锁。

分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,保证一致性。

常见的分布式锁的实现一般有3种: 基于数据库实现的分布式锁、基于Redis实现的分布式锁、基于Zookeeper实现的分布式锁

使用Redis实现分布式锁就像在图书馆占座,加锁:在Redis中放一个数据占位;解锁:从Redis删除占位数据

8.Redis与数据库数据如何保持一致

延迟双删策略:删除缓存;修改数据库数据;延迟500到1000毫秒;再次删除缓存

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值