【Redis刨析】知识图谱的构建与实现
前言
「作者主页」:雪碧有白泡泡
「个人网站」:雪碧的个人网站
ChatGPT体验地址
文章目录
- 前言
- 引用
- 构建过程
- Redis的知识图谱构建过程
- Redis介绍
- 快的原因
- 持久化
引用
对于编程的学习,过了初级阶段,我认为应该减少对视频的依赖,学习编程,遇到错误,检查搜索错误,然后验证方案,最后解决错误,将每一个错误,每一个丢失在脑袋中的知识点,去形成一个属于自己的知识结构。
对于知识图谱的构建,我相信大家都能够第一时间想到思维导图吧,在这里推荐一个免费的在线工具库:tool 。解决了实操场地,那我们一起来聊聊对于构建过程你是否有体系的方法
构建过程
我认为在整个从接触到精通过程中,我往往把构建过程分为四步
第一步,构图。也就是说我们拿到一个知识点,我们学了一遍之后呢,我们这一个知识点包括了123条内容,就比我刚学java,需要知道java的定义,Java的关键字,符号,语法,面向对象等等,而面向对象里面又有好多内容,比如说特性就有封装,继承,多态,当我们逐渐积累,成长,我们会对一个或一块内容,进行查漏补缺,我把它称为第二步,补图。第三步我把它称为拆图,逐渐灵活掌握,我们不会把知识的运用局限于某一块内容,通常会形成一个思维定势,我把这个思维定势称为自我高度片面化总结,其实从这里开始,你会发现书本上的知识进入大脑中,都是干货。但是往往发现,你会有总结不完的内容。最后一步,我把它称为挖图,你自己高度片面化总结的知识,进行底层逻辑的深挖,也就是从广度到深度的过程。
相信有很多正在学习的在校生,或者准备面试的应届生,亦或是刚刚步入职场的伙伴。我们这些都在成长路上有共同目标的人,我觉得我们都可以在以上的第三步,互相分享共同进步。
创建了一个分享平台:聚友堂
在这里你可以找到共同进步的伙伴,进行聊天,创建房间,发布帖子,一起来分享吧
Redis的知识图谱构建过程
Redis介绍
我们首先肯定要了解redis的内容是什么
redis是一个基于键值对的NoSQL数据库,你知道NoSQL是什么吗?非关系型数据库说的通俗一点:不是表结构的,而是用数据模型.那这个数据模型支持哪些数据结构呢?字符串,哈希,列表,集合,有序集合(比集合多一个权重). 那既然有这么多种数据结构,具体的作用有:首先是常用的缓存功能,还有计数器,点赞浏览量什么的.还有排行榜,消息队列,分布式等等.
快的原因
我们经常使用redis做缓存是因为它快,那么快的原因是什么呢?
redis的速度十分之快,是mysql的几十倍,首先因为他的对库操作都是完全基于内存操作,其次的话redis在底层使用的数据结构都是优化过的数据结构,可以达到很高的性能,而且使用单线程处理客户端请求,避免了多线程的开销.使用的是IO多路复用.同时监控多个IO流的状态以及处理可读或可写的事件.其实在这个单线程来说,redis的6.0版本处理读写和协议解析使用了多线程,之前的单线程似乎是历史问题,但是执行命令还是单线程.这样的目的肯定是为了进一步提高性能,redis的性能瓶颈在于网络IO,并非CPU,所以使用多线程能提升IO读写的效率.
持久化
我们对于redis已经有了基础的了解,我们来详细了解一下持久化的内容
首先是redis持久化的方法,主要有两种,RDB和AOF.首先RDB就是关系型数据库的存储方法,就是表结构.而AOF是一种以写入命令日志的方式记录数据库的持久化方法,并且提供了可读性和数据恢复.具体的流程为:将所有写入命令追加到缓冲区,缓冲区根据策略同步到硬盘。AOF文件会随着操作越来越大,需要进行重写和压缩。当重新启动Redis时,可以加载AOF文件来恢复数据.至于两个的选择和优缺点来说,RDB适用于资源有限、性能要求高、可接受一定数据丢失的环境,而AOF适用于对数据安全性和完整性要求较高的环境。为了达到MySQL相同安全性可以两者结合使用.前者说到使用AOF进行数据恢复.我们知道redis的启动过程是先加载AOF如何再加载RDB,然后成功启动,那么恢复的过程只需要RDB或者AOF拷贝到数据目录即可恢复,如果是AOF恢复,需要开启AOF然后启动即可.最后,在持久化的选择我们说过可以同时使用,在redis4.0中,结合了两者优点提出了混合持久化机制,总结就是加载RDB内容并重放增量AOF日志
还有很多内容可以私信获取,比如说redis高可用,缓存设计,无底洞问题,运维还有场景问题,在redis知识图谱的过程中,我们从大范围高度片面化总结为一句话或者一段话内容,为我们后续的深挖过程奠定了踏实的基础,
具体的内容可以看下面这本热销书籍
购买链接为:地址
- 🎁本次送书1~3本【取决于阅读量,阅读量越多,送的越多】👈
- ⌛️活动时间:截止到2023-12月31号
- ✳️参与方式:关注博主+三连(点赞、收藏、评论)
相关文章:

【Redis刨析】知识图谱的构建与实现
前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 ChatGPT体验地址 文章目录 前言引用构建过程Redis的知识图谱构建过程Redis介绍快的原因持久化 引用 对于编程的学习,过了初级阶段,我认为应该减少对视频的依赖&am…...
html学习笔记 标题、段落、换行、列表、超链接、图片、表格
<h1></h1> <p></p> <br>换行,不带线 <hr>换行,带线列表 类似↓ 2 1 无序列表 <ul><li></li><li></li><li></li> </ul>有序列表 <oi><li></l…...

汽车项目管理
项目节点: MR (Management Review)——管理层评审 KO (Kick Off)——项目正式启动 SI (Strategy Intent)——战略意图 SC (Strategy Confirmation)——战略确认 PA (Program Approval)——项目批准 PR (Product Readiness)——产品就绪 VP (Verification Prototype)…...

Tg-5511cb: tcxo高稳定性+105℃高温
爱普生推的一款TG-5511CB是一种高稳定的TCXO温补晶体振荡器,频率范围十分广泛从 10mhz ~ 54mhz,它的电源电压只需要3.3V,无论是手机还是其他电子设备,都能轻松提供稳定的电力支持。频率/温度特性表现出色,0.28 10^6Ma…...
Linux 命令 ifconfig 全面解析!
ifconfig 是 network interfaces configuring 的缩写。 在 Linux 操作系统中,ifconfig 用于显示或配置网络设备的参数信息。 查看网卡信息 $ ifconfig # 显示激活状态(up 状态)的网卡信息 eth0 Link encap:Ethernet HWaddr 00:0c:29:75:8…...

00-Git 应用
Git 应用 一、Git概述 1.1 什么是Git git 是一个代码协同管理工具,也称之为代码版本控制工具,代码版本控制或管理的工具用的最多的: svn、 git。 SVN 是采用的 同步机制,即本地的代码版本和服务器的版本保持一致(提…...

安全运维是做什么的,主要工作内容是什么
安全运维,简称SecOps,是一种集成安全措施和流程到信息技术运维的实践。它的目的是确保在日常运维活动中,如网络管理、系统维护、软件更新等,均考虑并融入安全策略。安全运维的核心是实现安全和运维团队的密切协作,以快…...

nodejs+vue+ElementUi大学新生入学系统的设计与实现1hme0
采用B/S模式架构系统,开发简单,只需要连接网络即可登录本系统,不需要安装任何客户端。开发工具采用VSCode,前端采用VueElementUI,后端采用Node.js,数据库采用MySQL。 涉及的技术栈 1) 前台页面…...
Unity-序列化和反序列化
序列化是指把对象转换为字节序列的过程,而反序列化是指把字节序列恢复为对象的过程。序列化最主要的用途就是传递对象和保存对象。 在Unity中保存和加载、prefab、scene、Inspector窗口、实例化预制体等都使用了序列化与反序列化。 1 可序列化类型 1> 自定义的具有Serial…...

如何将语音版大模型AI接入自己的项目里(语音ChatGPT)
如何将语音版大模型AI接入自己的项目里语音ChatGPT 一、语音版大模型AI二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例5、智能生成API代码 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、语音版大模型AI 基于阿里通义千问、百…...

鸿蒙列表,item组件封装传参问题?@ObjectLink 和@Observerd
鸿蒙列表渲染,封装内容组件,进行item传参会报错? class FoodClass {order_id: number 0food_name: string ""food_price: number 0food_count: number 0 }Entry Component struct Demo07 {State message: string Hello World…...

信号与线性系统翻转课堂笔记12——时域取样定理
信号与线性系统翻转课堂笔记12 The Flipped Classroom12 of Signals and Linear Systems 对应教材:《信号与线性系统分析(第五版)》高等教育出版社,吴大正著 一、要点 (1)了解信号取样的概念࿱…...
爬虫工作量由小到大的思维转变---<Scrapy异常的存放小探讨>
前言: 异常很正常,调试异常/日志异常/错误异常~ 但在爬虫的时候,写完代码--->运行后根本挡不住一些运行异常;于是,把异常写到了中间件~ 当然,这也没有错; 不过,其实可以直接这么设计一下... 正文: 参照一下中间件处理的异常 def process_exception(self, request, exc…...

7.串口通信uart编写思路及自定义协议
前言: 串口是很重要的,有许多模块通信接口就是串口,例如gps模块,蓝牙模块,wifi模块还有一些精度比较高的陀螺仪模块等等,所以学会了串口之后,这些听起来很牛批的模块都能够用起来了。此外&#…...

【物联网】光影之谜:RGB-LED传感器引领科技变革之路
🌈个人主页:Sarapines Programmer🔥 系列专栏:《物联网实战 | 数字奇迹记》⏰翰墨致赠:狂风挟雷霆舞苍穹,剑气横扫万里空。英雄豪情铸不朽,激荡壮志燃热风。 目录 ⛳️1. 初识物联网 ⛳…...

promise的使用和实例方法
前言 异步,是任何编程都无法回避的话题。在promise出现之前,js中也有处理异步的方案,不过还没有专门的api能去处理链式的异步操作。所以,当大量的异步任务逐个执行,就变成了传说中的回调地狱。 function asyncFn(fn1, fn2, fn3) {setTimeout(() > {//处理第一个异步任务fn1…...

Visual Studio2022配置ReSharper C++ 常用设置
如需安装免费的可以在下面留言,看到即回复 文章目录 Visual Studio2022配置ReSharper C 常用设置配置Visual Studio2022,使其能够按回车进行补全配置ReSharper C 设置自动弹出配置ReSharper C 的快捷键ReSharper C 去掉注释拼写使用中文注释 如何关闭新版…...

论文解读类的公众号/知乎专栏,交给agent去做吧...
作者 | 二狗 大家好我是二狗,是夕小瑶科技说编辑部的一名作者。 我平时主要负责写AI资讯报道的文章。 大家知道,前阵子二狗我在「赛博马良」平台弄了个AI员工后每次都非常顺利地在第一时间精准抓到爆火的选题。 比如当时Sam Altman被开除的事件&…...

【学习笔记】Java函数式编程03 Stream流-终结操作
书接上回 3.3.3 终结操作 3.3.3.1 forEach 对集合的每一个元素进行处理 接触很多了不赘述 3.3.3.2 count 用来获取当前流中的元素的个数 比如,打印出所有作家的作品的总数 System.out.println(authors.stream().flatMap(author -> author.getBooks().stre…...
2024 Android保活总结
本文介绍的方案都是无需用户主动开启权限的。如果需要用户主动开启权限或者加白名单之类的话保活的意义就不大了,毕竟用户不大可能主动原因让app一直在后台运行 常规的方案 OnePixelActivity 1,监听SCREEN_OFF启动一个像素的Activity,灭屏…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...