Redis基础面试题

redis的持久化

redis的持久化分为AOF和RDB

RBD是记录REDIS中的当前保留信息,

AOF保存的是REDIS中增改的过程,

RDB在通常情况下不会自动保存,需要得手动输入指令save(阻塞用户线程),BGsave(后台运行),或者定时保存

AOF则是可以会有对应的线程进行保存操作,实时保存。

但是由于AOF也会指令的过程,会导致文件越来越臃肿,但也更安全。

redis基础类型

String ,Hash,Hset,Set,链表

redis的缓存雪崩,数据穿透,数据击穿

缓存雪崩指的是成批的缓存在同一时间结束,导致sql查询直接击中数据库,如果是高并发的情况下,数据库的荷载就会十分的高。可以通过按照访问程度,设置不同的缓存过期时间

数据穿透指的是使用恶意的不存在的数字去访问,这也会直接落入SQL中。可以将不存在的key也保存下来,避免恶意访问。

数据击穿指的是一个高热度的键过期瞬间,由于大量访问,也导致sql负荷过高。可以将热门键设为永久

Redis hash的过期时间

setex和expire

setext是原子性操作

expire则可以应用于非顶层键,如Hash,Hset,Set,链表

redis消息队列

使用双向链表实现,类似阻塞队列,有消息返回,没有消息可以使用brpop超时返回null

你可能感兴趣的:(Redis基础面试题)