首页 > 数据库 >Redis常见概念问题(面试)

Redis常见概念问题(面试)

时间:2024-09-04 15:54:30浏览次数:7  
标签:AOF 持久 命令 常见 Redis 面试 内存 RDB

Redis是什么?

Redis(Remote Dictionary Server)是一个使用 C 语言编写键值对数据库,也是非关系型数据库
Redis 的数据是存在内存中的。所以读写速度非常快
Redis的单条命令是原子性的

Redis优缺点?

优点

  1. 基于内存操作,内存读写速度快。
  2. 支持多种数据类型,包括String、Hash、List、Set、ZSet等。
  3. 支持持久化。Redis支持RDB和AOF两种持久化机制,持久化功能可以有效地避免数据丢失问题
    缺点
  4. 结构化查询的支持比较差
  5. 单线程模型:Redis采用单线程模型来处理客户端请求,这意味着在高并发场景下,性能可能受到限制

Redis为什么这么快?

基于内存:Redis是使用内存存储,没有磁盘上的开销
IO多路复用模型:Redis 采用 IO 多路复用技术。实现高吞吐的网络IO
单线程模型:避免了多线程频繁上下文切换带来的开销

Redis应用场景有哪些?

  1. 缓存热点数据,缓解数据库的压力。
  2. 利用 Redis 原子性的自增操作,可以实现计数器的功能,比如统计用户点赞数
  3. 好友关系,利用集合的一些命令交集、差集,实现共同好友、共同爱好之类的功能

Redis事务的原理

Redis事务的原理是将一个事务范围内的若干命令发送给Redis,然后再让Redis依次执行这些命令

Redis事务支持隔离性吗,保证原子性吗,支持回滚吗??

Redis 是单线程程序,并且它保证在执行事务时,不会对事务进行中断,事务可以运行直到执行完所有事务队列中的命令为止。因此,Redis 的事务是总是带有隔离性的。

Redis单条命令是原子性执行的,但事务不保证原子性。事务中任意命令执行失败,其余的命令仍会被执行。

持久化机制(双写一致性)

持久化就是把内存的数据存储起来防止服务突然中止导致内存数据丢失
RDB会根据指定的规则定时将内存中的数据存储在硬盘上
AOF在每次执行完写命令后将写命令记录下来
一般将两者结合使用。
RDB 是 Redis 默认的持久化方案
优点

  1. Redis 加载 RDB 恢复数据远远快于AOF 的方式。
    缺点
  2. RDB方式频繁执行成本比较高
    AOF方式
    AOF:记录每次写命令,Redis重启后会重新执行AOF文件中的命令达到恢复数据的目的。AOF的主要作用是解决了数据持久化的实时性,AOF 是Redis持久化的主流方式。
    优点
  3. AOF可以更好的保护数据不丢失
    缺点
  4. 对于同一份文件AOF比RDB需要更大得存储空间。
  5. 数据恢复比较慢。

RDB和AOF如何选择?

通常来说,应该同时使用两种持久化方案,以保证数据安全。
如果数据能够承受一定时间的数据丢失只使用RDB也可行。
当RDB与AOF两种方式都开启时,Redis会优先使用AOF恢复数据,因为AOF保存的文件比RDB文件更完整

标签:AOF,持久,命令,常见,Redis,面试,内存,RDB
From: https://blog.csdn.net/kiku1002149488/article/details/141896133

相关文章

  • 2024最新Java面试笔试题目分享
    1.java中IO流分为几种?字节流:InputStream、OutputStream字符流:Reader、Writer字节流是最基本的1.字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;2.字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。......
  • CUDA Toolkit常见安装问题一览
    CUDAToolkit常见安装问题一览关注TechLead,复旦博士,分享云服务领域全维度开发技术。拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,复旦机器人智能实验室成员,国家级大学生赛事评审专家,发表多篇SCI核心期刊学术论文,阿里云认证的资深架构师,上亿营收AI产品研发负责人。......
  • NOIP2024集训Day21 DP常见模型2 - 背包
    NOIP2024集训Day21DP常见模型2-背包A.[BZOJ4987]Tree树形背包dp先考虑几个显而易见的性质:选出的点一定是相邻的对于选出的点,如果从\(a_k\)再走回\(a_1\),那么就相当于每条边经过了两次由于题目没有包含\(dis(a_k,a_1)\),因此就相当于选出的点中的一条链可以只......
  • NOIP2024集训Day20 DP常见模型1 - 序列
    NOIP2024集训Day20DP常见模型1-序列A.[JOI2022Final]Let'sWintheElection贪心+DP。首先,一定是所有协作者同时在同一个州演讲,这样才最优。然后,假设我们已经知道所有州的方案(支持、支持+协作、反对),那我们一定是先按照从小到大的顺序拿下所有“支持+协作”州,这样最优。......
  • NOIP2024集训Day22 DP常见模型3 - 区间
    NOIP2024集训Day22DP常见模型3-区间A.[SCOI2003]字符串折叠因为前面折叠了会对后面产生影响,所以很显然不能贪心。考虑区间DP。定义\(f_{i,j}\)表示\(i\)到\(j\)范围内可以折叠到的最短长度。答案为\(f_{1,n}\)。状态转移:对于\(f_{i,j}\),使用区间DP惯用套路,枚......
  • ubunto中常见问题及WSL
     ubunto中常见问题 ubuntu中vscode界面放大缩小的快捷方式ubuntu中vscode界面放大缩小的快捷方式_ubuntu中让vscode全屏-CSDN博客https://blog.csdn.net/weixin_47295886/article/details/123023748 解决出现无法使用sudo命令情况解决出现无法使用sudo命令情况-知乎(z......
  • 如何用Redis实现抢答系统的“唯一正确”逻辑?
    大家好!我是你们的老朋友小米,一个积极活泼的技术分享者,今天想和大家聊聊如何用Redis实现一个抢答系统。在这个系统中,题目发布后,多个用户可以进行抢答,但只有第一个答对的用户才能得分,答错的人不会影响系统的状态。这听起来是不是很有趣呢?那就让我们一起来看看这个技术实现吧!抢答系统......
  • 1. GIS开发工程师岗位职责、技术要求和常见面试题
    本系列文章目录:1.GIS开发工程师岗位职责、技术要求和常见面试题2.GIS数据工程师岗位职责、技术要求和常见面试题3.GIS后端工程师岗位职责、技术要求和常见面试题4.GIS前端工程师岗位职责、技术要求和常见面试题5.GIS工程师岗位职责、技术要求和常见面试题6.GIS......
  • 5. GIS工程师岗位职责、技术要求和常见面试题
    本系列文章目录:1.GIS开发工程师岗位职责、技术要求和常见面试题2.GIS数据工程师岗位职责、技术要求和常见面试题3.GIS后端工程师岗位职责、技术要求和常见面试题4.GIS前端工程师岗位职责、技术要求和常见面试题5.GIS工程师岗位职责、技术要求和常见面试题6.GIS......
  • 九银十拿到大模型(LLM)offer,面试八股
    金九银十拿到大模型(LLM)offer,面试八股从事大模型的朋友在金J九银十拿到了一份不错的offer,面试十几家公司,通过了六家。好在分享了大佬总结的大模型方向面试的常见题目(含答案),短时间内过了一边,能针对的回答。有了面试框架更容易拿到offer,分享给大家,祝大家都能拿到自己心仪的o......