Redis 的几个热点知识

devtools/2025/3/4 11:02:04/

前言

Redis 是一款内存级的数据库,凭借其卓越的性能,几乎成为每位开发者的标配工具。

虽然 Redis 包含大量需要掌握的知识,但其中的热点知识并不多。今天,『知行』就和大家分享一些 Redis 中的热点知识。

Redis 数据结构

Redis 中常用的数据结构大致可分为两类:

  1. 核心类型:String、Hash、List、Set、Zset(Sorted Set)
  2. 扩展类型:Bitmap、Geospatial、Streams、HyperLogLog

键过期策略

Redis 中的键过期策略主要用于处理设置了过期时间(TTL)的键的自动删除,确保内存资源合理利用。

在 Redis 中,键过期策略包括两种:

  1. 惰性删除:访问键时检查是否过期
  2. 定期删除:后台定期检查键是否过期

键驱逐策略

Redis 的键驱逐策略用于在内存达到限制时决定哪些数据应该被删除。

常见的 Redis 键驱逐策略包括:

  1. noeviction(默认):不删除键,直接拒绝写入操作(返回错误);
  2. allkeys-lru:从所有键中,删除 最近最少使用 的键;
  3. allkeys-lfu:从所有键中,删除 最不频繁使用 的键;
  4. allkeys-random:从所有键中,随机删除 键;
  5. volatile-lru:从设置了过期时间的键中,删除 最近最少使用 的键;
  6. volatile-lfu:从设置了过期时间的键中,删除 最不频繁使用 的键;
  7. volatile-random:从设置了过期时间的键中,随机删除 键;
  8. volatile-ttl:从设置了过期时间的键中,删除 剩余生存时间最短 的键;

主从全量同步

Redis 主从全量同步是当从节点首次连接或数据差异过大时,主节点生成 RDB 快照并传输给从节点的过程。

全量同步虽然保证数据完整,但资源消耗较大,需要调整积压缓冲区大小、启用无盘复制等方式优化。

主从增量同步

Redis 增量同步是指在主从复制中,主节点仅将数据的增量部分同步给从节点。

增量同步是 Redis 主从复制的核心优化,通过缓冲区缓存写命令,可实现高效断连恢复。

持久化机制

Redis 持久化机制指的是将内存中的数据保存到磁盘中,以便在其重启或故障时保留数据,防止数据丢失。它提供了两种主要的持久化机制:

  1. RDB(Redis DataBase):快照
  2. AOF(Append Only File):日志追加

此外,还有两者结合的 混合持久化(Redis 4.0+)

知行有话

本期的分享到此结束啦!如果大家认为 Redis 中还有哪些比较热点的知识点没有提及到,欢迎在评论区留言哦~


http://www.ppmy.cn/devtools/164436.html

相关文章

mysql空间占用

1、查询数据库占用空间 可以通过查询 information_schema 系统数据库中的 SCHEMATA 表和 TABLES 表来获取数据库占用的空间大小。 SELECT table_schema AS 数据库名称,SUM(data_length index_length) / 1024 / 1024 AS 占用空间(MB) FROM information_schema.TABLES GROUP BY…

Docker详解

目录 前言 一、Docker核心概念 1. 镜像 2. 容器 3.容器 vs 虚拟机 4. 仓库 5. 容器与宿主机文件交互 二、数据卷与挂载 1.挂载 2.数据卷 3.数据卷挂载 4.本地目录挂载 5. 挂载模式对比 三、容器网络 1. 网络模式 2. 自定义网络 3. 端口映射 四、Dockerfile与…

Matlab中使用GUIDE工具开发图形用户界面(GUI)

文章目录 1. 初识GUIDE工具1.1 .m 和 .fig的区别和联系1.2 GUIDE工具的详细介绍1.3 GUI控件的属性1.4 自动生成的 .m 文件1.5 回调函数 2. GUI中常见的函数2.1 get 和 set 函数2.2 handles.Tag2.3 OpeningFcn 和 OutputFcn2.4 Callback2.5 CreateFcn 和 DeleteFcn2.6 ButtonDow…

BUU43 [BJDCTF2020]The mystery of ip 1

前置知识: X - Forwarded - For注入 X - Forwarded - For(XFF)是一个 HTTP 头字段,用于记录客户端的真实 IP 地址。当客户端请求经过代理服务器时,代理服务器会将客户端的 IP 地址添加到 X - Forwarded - For 头中。…

Webpack打包构建流程

webpack的打包构建流程 为什么需要打包? 在前端有非常多的资源,如css、js、vue、vue、 图片、字体等。 有些资源需要加工处理 1. ts -> js ts-loader 2. css -> css-loader style-loader 3. 图片 -> file-loader url-loader 4. html -…

基于javaweb的SpringBoot图书个性化推荐系统设计和实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

从JSON过滤到编程范式:深入理解JavaScript数据操作

一、现实场景:某系统的数据过滤需求 1.1 原始数据结构 // 服务端返回数据示例(含元数据) const engineData {count: 5,next: "https://xxx/?page2",results: [{id:1, name:"我是数据A", status:1},{id:2, name:"…

机试题——通讯录合并

题目描述 你有一个通讯录,每个联系人包含姓名和手机号,一个联系人可能有多个手机号。如果两个联系人拥有相同的手机号,我们认为他们是同一个人。任务是整理通讯录,将具有相同手机号的联系人合并为一个联系人,并返回合…