生吃八股文之Redis(1)

一.Redis的惰性删除是什么

redis的惰性删除是指再redis中删除数据时,并不会直接把数据给删除掉而是继续保存在内存里面,如果我们再次GET这个键值的话确实能看到被删除了为空,但是这个数据还是会在内存中保存着,redis默认都是使用的惰性删除

(那么有同学就要问了,redis这么懒那什么时候把数据从内存中删除掉呢?

答:

1.当用户再次获取这个数据key的时候返回的是null这时候如果在内存中找到他了就把他删除掉。

2.当redsi的内存占用到了一定的阀值,憋不住了会自动启动一下回收机制,把那些过期的垃圾数据删除掉。)

二.redis的哨兵模式是什么,他进行了什么操作?

redis的哨兵模式是一种用于保护Redis高可用性的解决方案,在单个redis节点出现状况的时候,哨兵模式可用把没坏的从节点升级为主节点用,并且可以把其他的从节点改成新的主节点的从节点。

1.监听:也叫心跳机制,哨兵会时不时的给redis的主节点和从节点发送一个实例看看他们还活着不,如果活着就不管如果死了就主从替换,如果从死了就反馈。

2.主从替换:如果主服务器死掉了,哨兵机制就会通过哨兵选举的方式选出一个主节点redis然后记录在日志把其他的从节点替换为心的主节点的从节点

三.缓存击穿和缓存雪崩和缓存穿透是什么,怎么避免?

1.缓存击穿:缓存击穿和缓存穿透很想,缓存击穿的话就是在高并发的情况下缓存里没有信息然后大量请求突然一起到了数据库,所有会造成数据库数据变慢

解决方法:避免大量的数据的过期时间相同使用随机过期时间或者不设过期时间,或者设个互斥锁然后使得到数据库的请求变成一条虽然会慢,但不至于崩

2.缓存雪崩:缓存雪崩的是服务器宕机了这时候大量请求到了redis这时候会产生雪崩,或者大量的数据过期失效了,到了数据库这时候数据库和redis都崩了服务就崩了,或者服务器上线没预热,就经历了高并发,这时候就很危险就会雪崩

3.缓存穿透:缓存穿透是指大量的数据都没有访问记录也没有被恶意访问了也没数据在数据库这时候还一直被获取就会造成缓存穿透

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值