当前位置: 首页 > news >正文

Redis面试问题集

Redis基础数据结构

String(字符串)

  • 用途:存储文本、数字、二进制数据(如图片),最大支持512MB。常用作缓存、计数器、分布式锁等场景。

Hash(哈希表)

  • 用途:存储对象(如用户信息),以键值对形式组织数据。

List(列表)

  • 用途:实现队列、栈或消息流(如最新消息列表)。

Set(集合)

  • 用途:存储唯一元素,适用于标签系统、共同好友等场景。

ZSet(有序集合)

  • 用途:按分值排序的集合,适用于排行榜、延时队列等。
  • 特点
    • 通过跳跃表(skiplist)压缩列表实现,保证元素有序且支持范围查询(ZRANGE)。

扩展数据结构

  • Bitmap(位图):基于String的位操作,适用于签到统计。
  • HyperLogLog:基数统计,如UV统计。
  • Geo:地理空间索引,支持位置查询

Redis 数据持久化

Redis中为了保证在系统宕机(类似进程被杀死)情况下,能更快的进行故障恢复,设计了两种数据持久化方案,分别为rdb和aof方式。

RDB(数据备份)

原理:定期生成内存数据的二进制快照(.rdb文件),恢复时直接加载文件到内存。
触发方式

  • 手动触发
    • SAVE:阻塞主线程生成快照(生产环境禁用)。
    • BGSAVE:后台子进程生成快照(推荐)。
  • 自动触发:通过配置时间间隔和修改次数触发(如 save 60 10000 表示 60 秒内 10000 次修改则触发)。

优点

  • 文件紧凑,恢复速度快;
  • 备份效率高,适合大规模数据。
    缺点
  • 可能丢失最后一次快照后的数据;
  • 大数据量时 fork 子进程可能短暂阻塞服务。

AOF(追加文件)

原理:记录每个写操作命令(文本格式),重启时重放命令恢复数据。这个机制默认是关闭的
配置关键项

  • appendonly yes:启用 AOF;
  • appendfsync:写盘策略(always/everysec/no),平衡安全性与性能。

优点

  • 数据安全性高(最多丢失 1 秒数据);
  • 支持实时记录,故障恢复更精确。
    缺点
  • 文件体积较大;
  • 恢复速度慢于 RDB;
  • 频繁写入可能影响性能。

优化

  • AOF 重写:压缩冗余命令(BGREWRITEAOF),减少文件大小。

混合持久化(Redis 4.0+)

原理:结合 RDB 和 AOF,生成 RDB 快照 + 增量 AOF 日志 的混合文件(.aof 格式)。
配置

aof-use-rdb-preamble yes

优点

  • 恢复速度快(优先加载 RDB 快照);
  • 数据安全性接近 AOF。
    缺点
  • 兼容性要求 Redis 4.0 以上版本
http://www.dtcms.com/a/414892.html

相关文章:

  • Qt常用控件之QLineEdit
  • 在docker里面安装nextcloud
  • 3.6、操作系统
  • 2025最新centos7安装mysql8 相关 服务器配置 纯命令行操作 保姆级教程
  • Hadess入门到实战(4) - 如何管理Docker制品
  • Python 数学公式构建海洋不明生物(好像是水母)动画 - 傅里叶合成模拟复杂波形
  • 泰州建设企业网站福州企业免费建站
  • 美妆网站模板html5网站开发语言
  • 深度剖析OpenHarmony AI Engine:开发板端侧大模型推理插件机制全链路拆解
  • 链表的核心思想
  • Matlab通过GUI实现点云的坡度滤波(附最简版)
  • GESP8级——AT_icpc2013spring_e 最小生成树题解
  • Qt窗口与对话框开发指南
  • 湖北平台网站建设哪家好有经验的邵阳网站建设
  • 33.Linux iCSCI 服务
  • 国内优秀网页设计网站网站建设流程共有几个阶段
  • 基于物联网的个人健康管理系统(论文+源码)
  • 一个网站可以做几个关键词网站建设济南
  • Linux日志分析入门:使用grep和awk发现服务器异常访问
  • 435. 无重叠区间
  • 2025制造业研发流程提效指南:从审批卡顿到协同闭环,3类系统选型全解析
  • 文件夹随机分配 把文件夹随机分配到指定的文件夹中
  • 104.二叉树的最大深度(二叉树算法题)
  • 宿迁做网站的怎样制作h5
  • 电子商务网站建设结业论文seo教程seo官网优化详细方法
  • 使用 Three.js 和本地 Draco Loader 高效加载压缩 GLB 模型
  • Nginx-Proxy-Manager配置SSL泛域名证书教程
  • 图的遍历:从深度优先到广度优先
  • Java数据结构:ArrayList与顺序表1
  • C语言实战项目:贪吃蛇(1)