面试题:Redis

一、为什么要用Redis?

1、内存数据库,快,很快.......

2、工作单线程worker,串行化、原子操作. (IO线程是多线程)- 避免上下文切换

3、IO模型(epoll), 支撑高并发.

4、kv模型,v具有类型结构.

5、具有本地方法,计算向数据移动。(a,b) => 交集

6、二进制安全,Value最大512M

二、Redis是单线程还是多线程?

6.0版本之前是单线程

6.0版本之后:Io是单线程,worker是多线程

三、Redis数据持久化方案?

Redis是一个内存数据库,一旦断电或服务器进程退出,内存数据库中的数据将全部丢失,所以需要Redis持久化

Redis持久化就是把数据保存在磁盘上,利用永久性存储介质将数据保存,在特定的时间将保存的数据进行恢复的工作机制

Redis提供两种持久化机制:

  • RDB(Redis DataBase):存储数据结果,关注点在数据(快照)

  • AOF(Append Only File):存储操作过程,关注点在数据的操作过程(命令)

RDB与AOF触发方式、优缺点:

RDB的触发方式:

  • 手动触发:通过命令手动生成快照 (save,bgsave)

  • 自动触发:通过配置参数的设置触发自动生成快照

缺点:

  1. 快照时间有间隔,不能实时备份,丢失数据可能会比较多

  2. 开启子进程备份数据,在数据集比较庞大时,fork()可能会非常耗时,造成服务器在一定时间内停止处理客户端。

优点:

1.恢复数据比较快

2.备份的文件就是原始内存数据的大小,不会额外增加数据占用,

AOF的触发方式

1.手动触发

通过bgrewriteaof命令:重新AOF持久化生成aof文件(触发重写)

2.自动触发

默认情况,redis是没有开启AOF(默认使用RDB持久化),需要通过配置文件开启

AOF的优缺点

优点:

  • 数据安全性高,不易丢数据

  • AOF文件有序保存了所有写操作,可读性强

缺点:

  • AOF方式生成文件体积变大

  • 数据恢复速度比RDB慢

RDB与AOF触发方式、优缺点具体如下:

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台欢迎登录阿里云,全球领先的云计算及人工智能科技公司,阿里云为200多个国家和地区的企业、开发者和政府机构提供云计算基础服务及解决方案。阿里云云计算、安全、大数据、人工智能、企业应用、物联网等云计算服务。https://thoughts.aliyun.com/workspaces/62b15b0b30dfbe001a119731/docs/6288e43e0f1dae0001fd7933

四、百万Redis,key如何模糊查找?

五、Redis面试题-缓存穿透,缓存击穿,缓存雪崩

1 穿 透: 两边都不存在(皇帝的新装) (黑名单) (布隆过滤器)

2 击****穿 :一个热点的key失效了,这时大量的并发请求直接到达数据库. (提前预热)

3 雪崩 :大量key同时失效 (避免大量的key同一时间失效,错峰)

相关推荐
Maynor99619 分钟前
免费 Cloudflare 只有 10 个 D1?满了之后的「穷鬼打法」:表前缀复用同一个库
数据库·后端·云计算·cloudflare
冰暮流星35 分钟前
mysql之索引设计的原则
数据库·mysql·1024程序员节
昵称画9 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
缓慢更新10 小时前
审批的加签与会签:多人意见怎么合
android·java·数据库·低代码·rxjava
跨境联盟10 小时前
大健康实体如何搭建产品差异化:对比普通营养品与合规跨境膳食补充剂服务模式
数据库·ai·健康医疗·健康管理·精准营养
有想法的py工程师10 小时前
PostgreSQL EXPLAIN中的Cost模型分析(random_page_cost参数):优化器眼中的代价世界与执行计划生成
数据库·postgresql
前进的李工11 小时前
飞书企业知识库设计+后端高频八股
数据库·redis·后端·mysql·性能优化·飞书·rag
SailingCoder11 小时前
【封闭结束1】端到端交付:Agent 一次请求如何走完全链路
前端·安全·ai·面试·agent·harness
泡海椒11 小时前
JQuick-SQL CSV 文件数据接入:转换为内存表后再查询
数据库·sql
Interview Aid11212 小时前
Uber Interview Process 完整指南:面试流程、OA 真题与 VO 备考
面试·职场和发展