Redis热门面试问题及答案

1、Redis五种数据类型

  1. string 字符串(可以为整形、浮点型和字符串,统称为元素)
  2. list:列表
  3. set:集合
  4. zset(sorted set:有序集合).
  5. hash:哈希散列

1.Redis的高可用部署方式

  1. 哨兵模式
  2. 集群模式
  3. 单机模式

2、Redis高并发和快速的原因

(1)redis是基于内存的,内存的读写速度非常快;

(2)redis是单线程的,省去了很多上下文切换线程的时间;

(3)redis使用多路复用技术,可以处理并发的连接。

缺点:无法发挥多核CPU性能

4、缓存雪崩

  如果缓存集中在一段时间内失效,发生大量的缓存穿透,所有的查询都落在数据库上,造成了缓存雪崩。

  解决办法:没有完美的解决方案,可以通过随机算法让失效时间随机分布,避免同一时刻失效,使用集群提高服务器可用性。

5、缓存穿透

  访问一个不存在的key,缓存不起作用,请求会穿透到DB,可能DB也没查到,流量大时DB会挂掉。

  解决办法: 

        1.采用布隆过滤器

        2缓存空值。

6、缓存击穿

  缓存击穿是指缓存中没有但数据库中有的数据,比如是缓存重新构建的时候,大量的并发请求进来导致未命中缓存,引起数据库压力瞬间增大,造成过大压力

  解决办法: 

        1.设置热点数据永远不过期。

        2.加互斥锁,互斥锁

        3.前置处理  对于同一个数据大量并发请求使用流量进行热点key限流熔断(如:Sentinel)

7、Redis的数据持久化方式

  RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。(更高的数据安全性)

        AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。(RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值