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

Redis 的几个热点知识

前言

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 中还有哪些比较热点的知识点没有提及到,欢迎在评论区留言哦~

相关文章:

Redis 的几个热点知识

前言 Redis 是一款内存级的数据库,凭借其卓越的性能,几乎成为每位开发者的标配工具。 虽然 Redis 包含大量需要掌握的知识,但其中的热点知识并不多。今天,『知行』就和大家分享一些 Redis 中的热点知识。 Redis 数据结构 Redis…...

【新手入门】SQL注入之getshell(木马)

木马介绍 木马其实就是一段程序,这个程序运行到目标主机上时,主要可以对目标进行远程控制、盗取信息等功能,一般不会破坏目标主机,当然,这也看黑客是否想要搞破坏。 按照功能分类:远控型、破坏型、流氓软件型、盗取信…...

【pytest框架源码分析二】pluggy源码分析之add_hookspecs和register

这里我们看一下_manager.py里的类和方法,最主要的是PluginManager类,类的初始化函数如下: class PluginManager:"""Core class which manages registration of plugin objects and 1:N hookcalling.You can register new hoo…...

四、数据存储

在爬虫项目中,我们需要将目标站点数据进行持久化保存,一般数据保存的方式有两种: 文件保存数据库保存 在数据保存的过程中需要对数据完成去重操作,所有需要使用 redis 中的 set 数据类型完成去重。 1.CSV文件存储 1.1 什么是c…...

【原创】Ollama Test API For Linux/MacOS/Unix

安装Json解析工具 Linux/Unix sudo apt-get install jq -yMacOS brew install jq -y设置环境变量 export IP"192.168.250.229" export PORT"8080" export MODEL"deepseek-r1:7b"检查Ollama版本 curl http://"$IP":"$PORT&qu…...

LeetCode-Hot100-005盛最多水的容器

不懂的可以在评论区问我。 代码 双指针&#xff0c;开始的时候一个在最左边&#xff0c;一个在最右边。每次移动矮的那头&#xff0c;因为这是矮柱子作为容器能装的水的极限了。 class Solution { public:int maxArea(vector<int>& height) {int left 0; int rig…...

电源测试系统有哪些可以利用AI工具的科技??

AI技术的发展对电源模块测试系统的影响是深远的&#xff0c;不仅协助系统提升了测试效率和精度&#xff0c;还推动了测试方法的创新和智能化。那么在电源测试系统中哪些模块可以利用AI工具实现自动化测试? 1. 自动化测试与效率提升 智能测试流程优化 AI算法可以自动优化测试…...

【3-3】springcloud

OpenFeign 启动OpenFeign 定义客户端接口 注入客户端并使用 OpenFeignhttp调用ribbon负载均衡 gateway 来自&#xff1a;https://mynamelancelot.github.io/spring-cloud/spring-cloud-gateway.html#cors https://blog.csdn.net/qingdao666666/article/details/119973771 …...

Goby 漏洞安全通告| Ollama /api/tags 未授权访问漏洞(CNVD-2025-04094)

漏洞名称&#xff1a;Ollama /api/tags 未授权访问漏洞&#xff08;CNVD-2025-04094&#xff09; English Name&#xff1a;Ollama /api/tags Unauthorized Access Vulnerability (CNVD-2025-04094) CVSS core: 6.5 风险等级&#xff1a; 中风险 漏洞描述&#xff1a; O…...

‌Debian 包版本号比较规则详解

1 版本号组成结构 Debian 版本号格式为&#xff1a;[epoch:]upstream_version[-debian_revision] 示例‌&#xff1a;2:1.18.3~betadfsg1-5b1 组件说明比较优先级‌Epoch‌冒号前的数字 (2:)最高‌Upstream‌主版本 (1.18.3~betadfsg1)中‌Debian修订号‌减号后的部分 (5)最…...

009---基于Verilog HDL的单比特信号边沿检测

文章目录 摘要一、边沿检测二、时序逻辑实现2.1 rtl2.2 tb 三、组合逻辑实现3.1 rtl3.2 tb 摘要 文章为学习记录。采用时序逻辑和组合逻辑实现边沿检测的核心逻辑。组合逻辑实现的上升沿和下降沿的脉冲比时序逻辑实现的上升沿和下降沿的脉冲提前一拍。 一、边沿检测 边沿检测…...

2025全开源Java多语言跨境电商外贸商城/Tk/FB内嵌商城I商家入驻I批量下单I完美运行

商城程序介绍&#xff1a; 2025全新版UI 新增全球多站点选择 PC端&#xff1a;vueelementui 用户端使用&#xff1a;uniapp 管理端使用&#xff1a;vueelementui 后台服务使用&#xff1a;springbootmybatisplusmysql 商城功能介绍&#xff1a; 商城含21种语言 代理…...

iOS实现一个强大的本地状态记录容器

我们开发中经常会遇到这样的场景&#xff0c;就是我们客户端用户进行了某个操作&#xff0c;这个操作影响了数据的状态&#xff0c;但是我们又不方便重新请求一次数据&#xff0c; 这个时候&#xff0c;就需要我们记录一下本地状态在内存中&#xff0c;随着业务越来越复杂&…...

【mysql】有索引和没有索引字段更新时锁的不同

结论 对于有索引的的字段作为更新条件&#xff0c;如果更加语句用上了索引&#xff0c;那么只会在对于的更新字段的索引和对于记录的主键索引上加上x锁 如果更新字段没有索引&#xff0c;由于需要全部扫描&#xff0c;那么就会给所有主键索引加上x&#xff0c;导致其他事务的更…...

机器学习的三个基本要素

机器学习的基本要素包括模型、学习准则&#xff08;策略&#xff09;和优化算法三个部分。机器学习方法之间的不同&#xff0c;主要来自其模型、学习准则&#xff08;策略&#xff09;、优化算法的不同。 模型 机器学习首要考虑的问题是学习什么样的模型&#xff08;Model&am…...

神经机器翻译:联合学习对齐和翻译

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 神经机器翻译是最近提出的机器翻译方法。与传统的统计机器翻译不同&#xff0c;神经机器翻译旨在构建一个可以联合调整以最大化翻译性能的单一神经网络。最近为神经机器翻译提出的模型通常属于编码…...

[Web 安全] PHP 反序列化漏洞 —— PHP 魔术方法

关注这个专栏的其他相关笔记&#xff1a;[Web 安全] 反序列化漏洞 - 学习笔记-CSDN博客 PHP 魔术方法 - 简介 - PHP 魔术方法 - 简单教程&#xff0c;简单编程PHP 中&#xff0c;以两个下划线 ( __ ) 开头方法称之为 「 魔术方法 」 这些 「 魔术方法 」 在 [PHP](/l/yufei/php…...

聆听PostgreSQL数据库的使用

参考&#xff1a;&#xff08;1&#xff09;零基础入门PostgreSQL教程 &#xff08;2&#xff09;菜鸟教程 文章目录 一、PostgreSQL是什么&#xff1f;二、基本使用1.下载2.操作&#xff08;1&#xff09;数据库&#xff08;2&#xff09;表 一、PostgreSQL是什么&#xff1f;…...

2025嵌入式软件开发工程师--音频方向

一、选择题&#xff08;每题3分&#xff0c;共30分&#xff09; 1.以下哪个不是C语言中的关键字?&#xff08; &#xff09; A. int B. Float C. Define D. Return 2.以下代码的输出是: &#xff08; &#xff09; inta 5, b 10; printf("%d“, a b); A. 15 B.16 …...

C#释放内存空间的方法

目录 前言释放 C# 对象内存的六种方法1、手动释放内存空间2、使用 Using 语句3、使用 垃圾回收器4、GC.Collect() 方法5、GC.WaitForPendingFinalizers() 方法6、WeakReference 类 注意 前言 当不再需要对象时释放内存空间对于防止内存泄漏和提高应用程序性能至关重要。C# 提供…...

让通用 URL 准确落到目标 Page Builder:SAP Fiori 页面管理中的重定向实践

在很多 SAP Fiori 项目里,大家更容易把注意力放在 SAPUI5 组件、OData 服务、Launchpad 编排,或者 Fiori Elements 的元数据驱动开发上,却很少有人愿意花时间审视一条看似普通的访问路径。当系统进入页面管理阶段,尤其是管理员通过 Page Administration UI 去打开、维护、跳…...

NaViL-9B参数详解教程:max_new_tokens与temperature协同调优

NaViL-9B参数详解教程&#xff1a;max_new_tokens与temperature协同调优 1. 认识NaViL-9B多模态大模型 NaViL-9B是上海人工智能实验室研发的原生多模态大语言模型&#xff0c;它不仅能处理纯文本问答&#xff0c;还能理解图片内容。这个模型特别适合需要同时处理文字和图像信…...

Scrcpy:重新定义安卓设备跨平台交互体验

Scrcpy&#xff1a;重新定义安卓设备跨平台交互体验 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/gh_mirrors/sc/scrcpy 一、跨设备交互的现实困境&#xff1a;发现问题本质 在数字化办公与移动开发的日常场景中&a…...

消息防撤回方案:RevokeMsgPatcher的通讯内容保护实践

消息防撤回方案&#xff1a;RevokeMsgPatcher的通讯内容保护实践 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitcode.com…...

单片机:从核心原理到智能应用实战

1. 单片机&#xff1a;智能时代的微型大脑 想象一下清晨醒来&#xff0c;窗帘自动拉开&#xff0c;咖啡机开始工作&#xff0c;室内温度始终保持在最舒适的状态——这些看似简单的智能场景背后&#xff0c;都藏着一个不起眼却至关重要的核心部件&#xff1a;单片机。这块比硬币…...

深度解析:Element Plus架构设计与实现原理

深度解析&#xff1a;Element Plus架构设计与实现原理 【免费下载链接】element-plus &#x1f389; A Vue.js 3 UI Library made by Element team 项目地址: https://gitcode.com/GitHub_Trending/el/element-plus Element Plus作为Vue.js 3生态中最具影响力的企业级UI…...

如何掌握Marzipano全景技术的5个核心技术?

如何掌握Marzipano全景技术的5个核心技术&#xff1f; 【免费下载链接】marzipano A 360 media viewer for the modern web. 项目地址: https://gitcode.com/gh_mirrors/ma/marzipano 探索现代Web全景图开发的奥秘&#xff0c;发现Marzipano如何通过等距柱状投影、立方体…...

15 分钟上线|开源克隆网站 + 一键部署,搭建你自己的产品

把目标网站像素级克隆下来&#xff0c;再用部署技能把它一键部署到线上。全程主要靠自然语言对话完成&#xff0c;不需要命令行操作&#xff0c;不需要懂代码。你要做的只有一件事&#xff1a;把“你想复制哪个网站、要怎么上线”说清楚&#xff0c;其它交给 AI 去检测、拆解、…...

比特币钱包密码与助记词恢复实战指南:6大核心模块掌握btcrecover全功能

比特币钱包密码与助记词恢复实战指南&#xff1a;6大核心模块掌握btcrecover全功能 【免费下载链接】btcrecover An open source Bitcoin wallet password and seed recovery tool designed for the case where you already know most of your password/seed, but need assista…...

BACnet4j实战:从模拟设备到点位数据采集的完整流程解析

1. BACnet4j与工业物联网数据采集入门 第一次接触BACnet协议时&#xff0c;我被各种专业术语搞得晕头转向。直到用BACnet4j成功读取到第一个温度传感器的数据&#xff0c;才真正理解这个协议的价值。BACnet/IP就像工业设备间的普通话&#xff0c;而BACnet4j就是让Java程序能说这…...