面试题: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同一时间失效,错峰

相关推荐
AllData公司负责人6 分钟前
数据库同步平台|AIIData数据中台实现OceanBase、达梦数据库、OpenGauss、人大金仓、Hive、TDengine 一键接入Doris
大数据·数据库·hive·mysql·oceanbase·tdengine
2603_9547083122 分钟前
全维度容错设计,打造微电网安全运行屏障
服务器·网络·数据库·人工智能·分布式·安全
IvorySQL1 小时前
从双解析器到循环工程:IvorySQL 五年技术演进路线的深度观察
大数据·数据库·人工智能·postgresql·开源
wefg11 小时前
【MySQL】事务
数据库·mysql
黑白极客1 小时前
mysql的高可用性
数据库·mysql
一十九的酒1 小时前
Oracle 12c 标准版无缝升级企业版实战记录
数据库·oracle·标准版切换到企业版
ZhengEnCi2 小时前
S02-SpringBoot实体类新增字段对已有数据的影响及自动DDL同步机制详解
数据库·spring boot
妙码生花2 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(三十二):增加 admin_rule 模型及数据表迁移
数据库·go·ai编程
千维百策6663 小时前
SRE 中如何消除琐务:提升工程效率与服务可靠性的实践方法
数据库
卓怡学长3 小时前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea