Redsi复习面试题

Redis

1、Redis可以用来做什么

2、Redis和传统关系型数据库有什么区别

Redis存储数据基于内存,传统关系型数据库存储数据到磁盘,Redis性能更优

Redis存储数据以key-value键值对,关系型数据库基于二维表,数据格式更为严谨

3、Redis常用数据类型

单线程,避免线程切换(线程切换和锁是”性能杀手“)

基于内存存储数据

采用IO多路复用机制,提高吞吐率

4、Redis是单线程的怎么理解

Redis是单线程的是指Redis在读写键值对时是单线程的

只有Redis持久化、异步删除等其实有Redis底层的其他线程执行

5、数据类型set和zset有什么区别

set:

  • 存储无序,不可重复数据

zset:

  • 存储有序,不可重复数据
  • 有序:为每个元素添加一个分数来进行排序

相同:不仅能够对象集合中的元素增删改查,还能够对取交集等

6、Redis中list结构

存储有序可重复数据

7、缓存穿透、缓存击穿、缓存雪崩场景

缓存穿透:客户端请求不合法或者合法请求都不在缓存,造成频繁访问数据库

缓存击穿:热点key突然失效或者Redis重构复杂

缓存雪崩:缓存所有key全部失效或者Redis服务宕机

8、缓存穿透详解

解决方案:

  • 给非法请求创建缓存,缓存的value值设置为“”(空)

9、缓存击穿详解

10、缓存雪崩详解

11、如何设计Redis的过期时间

正常情况下给数据key分别设置一个随机的过期时间,而对应一些热点数据的key一般不设置过期时间

如何实现Redis的高可用性

集群

哨兵

Redis为什么存这么快?断电即失数据怎么恢复

数据基于内存存储

Redis的持久化策略

12、Redis的过期策略

惰性删除:每次访问key,都需要判断key的过期时间

定期删除:Redis会将带有过期时间的key存放到一个字典中,以每秒10次的方式扫描字典(贪心算法)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉水不好喝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值