面试redis这几个问题能答出来吗?

redis面试这几个问题能回答上来吗?

背景

提到redis大家应该都不陌生,现阶段中小企业但凡对数据库读写能达到每秒上万次都会使用kv数据库来减轻对后端数据库的压力。redis也是kv数据库中性能和高可用方面做的比较好的,当然也是面试过程中面试官的战场,下面看看哪些知识点是我们应该在接下来面试中要准备的。

资料获取

在这里插入图片描述

文章内容有限,更多redis面试相关资料获取如下
redis高频面试题
提取码: wdof
提取码过期请关注公众号回复redis重新获取:*
在这里插入图片描述

常见问题

1、redis有哪些优缺点

  • 优点:
    • redis是基于内存高性能键值对服务器,每秒能达到10万次的读写;
    • 支持多种数据类型(string、list、hash、set、zset等),提供了各种api供使用
    • 支持数据持久化,提供了AOF和RDB两种持久化方案供使用
    • 集群扩缩容方便
  • 缺点:
    • redis完全基于内存的,其存储的数据量受到物理内存大小的限制。
    • aof模式下,在极端情况下可能会丢失数据,丢失数据的多少和aof同步数据的策略有关(always,everysec,no)

2、redis 数据持久化方式有哪些?

  • RDB :是将内存中的快照保存在磁盘中,触发周期性保存可在配置文件中指定save 相关参数,
    • 优点:
      • rdb开始备份时,redis会fork出子进程进行数据操作,主进程响应请求,不会影响客户端的读写
      • rdb备份后是一个问题,方便在远程服务器上存储,异地容灾
      • rdb的数据恢复速度比aof要快很多
    • 缺点:
      • rdb是一段时间进行持久化,容易出现数据丢失
  • AOF:append only file,意思将每次写操作追加记录到一个文件中(redis7为提高性能,出现了三个文件,只有一个文件会有变化),重启后默认会从aof加载文件对redis进行重载。
    • 优点:
      • aof使用apendfsync:always可以最大程度减少数据丢失。
      • 命令写入aof文件时出现宕机,造成文件损毁,可通过redis-check-aof命令进行修复。
    • 缺点:
      • aof文件占用相对于rbd来书较大,当然对源文件重写会好点
      • 数据量比较大的时候aof的恢复速度要慢很多。

3、redis失效策略

  • 内存淘汰策略
    • 全局键空间选择性移除
      • noeviction: redis内存满的时候,新写入相关操作会报错
      • allkeys-lru: 移除最少使用的key
      • allkeys-random: 随机移除某个key
    • 设置了过期时间的键空间选择性移除
      • volatile-lru: 在设置了过期时间的键空间中,移除最少使用的key
      • volatile-random: 在设置了过期时间的键空间中,随机删除某个key
      • volatile-ttl: 在设置过期时间的键空间中,有更早要过期的key优先移除
  • 缓存失效策略
    • 定期清除:对设置了过期时间的key都指定定时器,到期自定清除
    • 惰性清除:访问key时是判断是否过期,对内存不是很友好
    • 定期扫描清除:定时多长时间固定扫描过期的字典,如果存在超25%过期key未删除,则继续进行扫描删除

4、redis有哪几种常用的读写模式

  • 旁路缓存:读请求未命中则查询数据库,查询完成后写入缓存;写请求更新数据库后删除缓存数据
  • 读写穿透:先查询缓存中数据是否存在,如果存在则返回,否则,由缓存组件负责从数据库中同步加载数据
  • 异步缓存写入

5、redis数据分区方式

  • 哈希取余运算:对节点数取余,算法节点,但是不稳定,集群扩容缩容会出现大量数据迁移
  • 一致性哈希运算:将redis节点依次3排列在首尾相接的hash环上,每个key在计算hash后顺时针找打第一次遇到的存储节点存放,集群节点伸缩只影响对应hash环上的后续节点,相对于哈希取余数据变动较小。
  • hash槽:集群吧所有的物理节点映射到0-16383个槽位,对key采用crc64算法得到hash值后对16384取模,基本上连续分配和平均分配的方式

有问题留言,持续更新中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

数据工匠大壮

请狠狠粗暴的爱我!!!

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

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

打赏作者

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

抵扣说明:

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

余额充值