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

Redis学习笔记之——学习计划

Redis——Remote Dictionary Server,开源、基于内存、速度快、key-value...

Redis做为一个高性能的键值存储系统,广泛应用于缓存、会话存储、分布式锁以及其他需要快速访问的数据场景中。熟悉掌握redis,似乎已成为广大码农们必备的一项技能。

下面是我的一个redis的学习计划,开启我的redis学习之旅~

一、基础数据类型

  • 深入学习 Redis 的五种基本数据类型:字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)。
  • 掌握每种数据类型的基本操作命令,例如:
    • 字符串:SET、GET、INCR、DECR 等。
    • 哈希:HSET、HGET、HGETALL 等。
    • 列表:LPUSH、RPUSH、LPOP、RPOP、LRANGE 等。
    • 集合:SADD、SMEMBERS、SINTER、SUNION 等。
    • 有序集合:ZADD、ZRANGE、ZRANK 等。

二、持久化机制

  • 学习 Redis 的两种持久化方式:RDB(快照)和 AOF(追加文件)。
  • 理解 RDB 持久化的原理、优缺点以及如何配置和触发 RDB 快照。
  • 掌握 AOF 持久化的工作方式、重写机制以及与 RDB 的区别和选择策略。
  • 进行持久化相关的实验,例如设置不同的持久化配置参数,观察数据在不同情况下的持久化效果,并了解如何从持久化文件中恢复数据。

三、高级功能与配置

目标:深入理解Redis的高级功能,如事务、发布/订阅、Lua脚本等,以及优化Redis性能。

  • 事务
    • MULTI, EXEC, DISCARD, WATCH命令
    • 事务的ACID特性(在Redis中的体现)
  • 发布/订阅
    • PUBLISH, SUBSCRIBE, UNSUBSCRIBE命令
    • 使用Pub/Sub实现消息传递
  • Lua脚本
    • Lua语言基础
    • 在Redis中运行Lua脚本(EVAL, EVALSHA)
    • Lua脚本的优势和应用场景
  • 复制与高可用性
    • 主从复制
    • Sentinel(哨兵)监控与自动故障转移
  • 性能优化
    • 内存管理
    • 网络优化
    • 配置文件调优
  • 分布式锁

  • 位图

  • HyperLogLog

  • 布隆过滤器

  • 限流

    • 简单限流

    • 漏斗限流 Redis-Cell

  • GeoHash

  • Scan

 四、进阶学习

  • 线程IO模型
  • 压缩列表、快速列表、跳跃列表、基数树
  • epoll/select/kqueue
  • 通信协议
  • 持久化
  • 小对象压缩
  • 集群、主从同步、哨兵(sentinel)
  • stream
  • 过期策略

五、巩固+复习

用常见面试题去检阅已学知识点。

相关文章:

Redis学习笔记之——学习计划

Redis——Remote Dictionary Server,开源、基于内存、速度快、key-value... Redis做为一个高性能的键值存储系统,广泛应用于缓存、会话存储、分布式锁以及其他需要快速访问的数据场景中。熟悉掌握redis,似乎已成为广大码农们必备的一项技能。…...

npm : 无法加载文件 D:\nodejs\npm.ps1

问题描述 npm run serve 启动一个Vue项目,报错如下: npm : 无法加载文件 D:\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/? LinkID135170 中的 about_Execution_Policies。…...

【Neo4J】neo4j docker容器下的备份与恢复

文章目录 一. 官网说明1. 操作说明2. 注意事项 二. docker 容器化操作1. 导出(备份)停止容器执行备份 2. 导入(恢复)停止容器(如果未停止)执行导入 3. 启动容器 一. 官网说明 https://neo4j.com/docs/operations-manual/current/…...

更新数据时Redis的操作

一般做法是在数据库更新后删除Redis中对应的缓存数据,而非更新数据。那么为什么要这么做呢? 以下是一些拙见 场景使用 金融交易系统:在金融领域,数据的准确性至关重要。任何数据不一致都可能导致严重的财务损失。因此&#xff0…...

[实战]MySQL时间多了一秒

场景 同时保存一条数据在MySQL和Redis中,JAVA系统中显示Redis和MySQL数据差了一秒,即MySQL比Redis中快了一秒。 复现 我们系统中MySQL的时间类型用的是timestamp,问题是一样的。 CREATE TABLE test_date (id int(11) NOT NULL AUTO_INCRE…...

Windows环境基于ecplise的spring boot框架新建spring start project

SpringToolSuite4 新建项目实例 前言Windows基于ecplise 工具的spring boot 架构 前言 使用Spring boot 框架向前端传输数据 Windows基于ecplise 工具的spring boot 架构 spring-tool-suite-4官网下载链接spring tool,下载太慢的话可以使用迅雷加速,右…...

C 进阶 — 字符函数和字符串函数 ( 二 )

C 进阶 — 字符函数和字符串函数 ( 二 ) 书接上回 C 进阶 — 字符函数和字符串函数 ( 一 ) 1.9 strtok 参考资料 strtok 函数用法详解 char * strtok ( char * str, const char * sep );strtok 是 [C 标准库](https://so.csdn.net/so/search?qC 标准库&spm1001.2101.3…...

Mybatis Plus 3.0 快速入门

1、简介 MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 2、创建并初始化数据库 2.1、创建数据库 mybatis_plus 2.2、创建 User 表 其表结构如下: idnameageemail1Jone18test1@baomidou.com2Jack…...

RFDiffusion 计算二面角函数get_dih解读

get_dih 函数计算任意四个连续原子之间的二面角(dihedral angle),它描述了主链和侧链原子的三维空间排布。 源代码: def get_dih(a, b, c, d):"""calculate dihedral angles for all consecutive quadruples (a[i],b[i],c[i],d[i])given Cartesian coordi…...

记一次回调失败问题

问题背景: 客户的问题是部分订单收不到回调,部分订单能正常收到回调,而回调的字段其实都是一样的,这不是很奇怪么? 分析过程: 网络拓扑大概如下图 找到一笔回调异常的订单,在阿里云日志服务器…...

前端常用的方法

时间处理 moment时间处理函数 // 时间日期相关常用的方法变量 import moment from moment;// 获取当前时间 moment export const nowDateMoment moment(new Date()); export const nowDateY moment(new Date()).format(YYYY); export const nowDateM moment(new Date()).f…...

RK3568(六)——led设备驱动(GPIO子系统)

修改设备树文件 先关闭心跳灯功能,也就是在图 10.4.1.2 中第 167 行添加 status 改为 disabled,也就是禁止 work 这个节点,那么禁止心跳灯功能。 我们后面需要禁止哪个功能,只需要将其 status 属性改为 disabled 就可以了。 gpi…...

hbuilder 本地插件配置

插件存放路径,项目根目录nativeplugins下,没有就新建。 aar文件存放路径\nativeplugins\module\android package.json存放路径\nativeplugins\module\ 配置package.json文件 { "name": "module", "id": "modu…...

Spring Boot集成Kafka:最佳实践与详细指南

文章目录 一、生产者1.引入库2.配置文件3.配置类PublicConfig.javaMessageProducer.java 4.业务处理类 三、消费者1.引入库2.配置类PublicConfig.javaMessageConsumer.java 3.业务类 一、生产者 1.引入库 引入需要依赖的jar包&#xff0c;引入POM文件&#xff1a; <depend…...

基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 多图推理

基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 多图推理 flyfish 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_LoRA配置如何写 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_单图推理 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_原模型_单图推理 基于Q…...

详解下c语言下的多维数组和指针数组

在实际c语言编程中&#xff0c;三维及以上数组我们使用的很少&#xff0c;二维数组我们使用得较多。说到数组&#xff0c;又不得关联到指针&#xff0c;因为他们两者的联系太紧密了。今天我们就详细介绍下c语言下的多维数组(主要是介绍二维数组)和指针。 一、二维数组 1.1&am…...

免费送源码:Java+ssm+MySQL 基于微服务架构的餐饮系统的设计与实现 计算机毕业设计原创定制

摘 要 近年来,我国经济和社会发展迅速,人们物质生活水平日渐提高,餐饮行业更是发展迅速,人们对于餐饮行业的认识和要求也越来越高。传统形式的餐饮行业都是以人为本,管理起来需要很多人力、物力、财力,既不方便管理者的管理,也不方便顾客实时了解餐厅动态,给传统餐饮行业的经…...

LeetCode hot100-69-N

https://leetcode.cn/problems/valid-parentheses/description/?envTypestudy-plan-v2&envIdtop-100-liked 20. 有效的括号 已解答 简单 相关标签 相关企业 提示 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#x…...

【橘子容器】如何构建一个docker镜像

你肯定打过docker镜像是吧&#xff0c;作为一个开发这很正常&#xff0c;那么你用的什么打包方式呢&#xff0c;这里我们来梳理几种常用的docker镜像构建方式。 ps&#xff1a;这里不是太讲原理&#xff0c;更多的是一种科普和操作。因为讲原理的东西网上已经够多了。 一、Dock…...

EFAK kafka可视化管理工具部署使用

简介&#xff1a;EFAK是开源的可视化和管理软件。它允许您查询、可视化、提醒和探索您的指标&#xff0c;无论它们存储在何处。简单来说&#xff0c;它为您提供了将 Kafka 集群数据转换为漂亮的图形和可视化效果的工具。 环境&#xff1a;①操作系统&#xff1a;CentOS7.6&…...

避坑指南:企业引入AI编程助手,选CodeGeex还是Copilot企业版?

企业级AI编程助手选型实战&#xff1a;CodeGeex与Copilot企业版的深度博弈 当技术决策者站在数字化转型的十字路口&#xff0c;选择一款适合企业长期发展的AI编程助手绝非简单的功能对比。这背后涉及数据主权、团队协作范式、技术债务管理等一系列战略考量。我们曾见证某金融科…...

ARM架构和主要内核介绍-D

目录 概述 1 ARM架构的历史发展线 1.1 技术演进 1.2 关键阶段与技术里程碑 1.3 成功的核心&#xff1a;商业模式创新 2 Cortex-M内核 2.1 主要特性 2.2 系列通用核心优势 3 Cortex-R系列 3.1 内核介绍 3.2 核心技术特性 4 Cortex-A系列 4.1 主要特性 4.2 核心架构…...

Noto Emoji完整指南:三步告别表情豆腐块困扰

Noto Emoji完整指南&#xff1a;三步告别表情豆腐块困扰 【免费下载链接】noto-emoji Noto Emoji fonts 项目地址: https://gitcode.com/gh_mirrors/no/noto-emoji 你是否曾经在聊天时发送了一个表情&#xff0c;对方却只看到一个空白的方块&#xff1f;或者在不同设备上…...

比迪丽LoRA部署教程:WSL2+Windows本地GPU环境全适配方案

比迪丽LoRA部署教程&#xff1a;WSL2Windows本地GPU环境全适配方案 你是不是也想在本地电脑上运行AI绘画&#xff0c;生成自己喜欢的动漫角色&#xff1f;特别是像《龙珠》里的比迪丽这样的经典角色&#xff0c;如果能用自己的电脑随时生成&#xff0c;那该多方便。 今天我就…...

别再只写静态页面了!鸿蒙Next通讯录开发中,SQLite数据库的增删改查实战避坑指南

鸿蒙Next通讯录开发实战&#xff1a;SQLite数据库操作与UI联动的深度解析 第一次在鸿蒙Next上尝试把通讯录UI和数据库绑定时&#xff0c;我盯着那个空荡荡的List组件发呆了半小时——明明数据已经插入成功了&#xff0c;为什么界面就是不刷新&#xff1f;这个问题困扰了无数刚接…...

VeRL框架介绍解析--小白能看懂篇

1 VeRL介绍 verl&#xff08;Volcano Engine Reinforcement Learning&#xff09;是由字节跳动火山引擎团队开源的一个灵活、高效且可用于生产环境的强化学习训练框架&#xff0c;专门用于大型语言模型&#xff08;LLMs&#xff09;的后训练&#xff08;post-training&#xff…...

告别复制粘贴!用Vue CLI插件一键集成Cesium到Vue2老项目

告别复制粘贴&#xff01;用Vue CLI插件一键集成Cesium到Vue2老项目 在Vue2项目中引入Cesium进行3D地理可视化开发时&#xff0c;传统的手动集成方式往往需要处理复杂的Webpack配置、静态资源管理和全局变量注入。这种"复制粘贴"式的集成不仅效率低下&#xff0c;还容…...

Windows系统清理终极指南:用Win11Debloat告别臃肿与卡顿

Windows系统清理终极指南&#xff1a;用Win11Debloat告别臃肿与卡顿 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …...

3步解锁Cursor Pro:面向开发者的AI编程助手无限使用指南

3步解锁Cursor Pro&#xff1a;面向开发者的AI编程助手无限使用指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your t…...

芯片时序分析避坑指南:当Setup/Hold Time出现负值,你的设计真的错了吗?

芯片时序分析中的负值迷思&#xff1a;当Setup/Hold Time打破常规认知 第一次在PrimeTime报告中看到-0.15ns的Hold Time时&#xff0c;我差点把咖啡喷在显示器上——这完全颠覆了我对时序分析的基础认知。作为从业五年的芯片设计工程师&#xff0c;我本能地认为这一定是某个环节…...