【Redis刨析】知识图谱的构建与实现

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 【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数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
7月前
|
消息中间件 NoSQL Java
Redis Streams在Spring Boot中的应用:构建可靠的消息队列解决方案【redis实战 二】
Redis Streams在Spring Boot中的应用:构建可靠的消息队列解决方案【redis实战 二】
1144 1
|
6月前
|
存储 运维 NoSQL
Redis 分区:构建高性能、高可用的大规模数据存储解决方案
Redis 分区:构建高性能、高可用的大规模数据存储解决方案
|
7月前
|
存储 缓存 监控
利用Redis构建高性能的缓存系统
在现代Web应用中,性能优化是提升用户体验和响应速度的关键。Redis作为一款开源的内存数据结构存储系统,因其出色的性能、丰富的数据结构和灵活的使用方式,成为了构建高性能缓存系统的首选工具。本文将探讨Redis在缓存系统中的应用,分析其优势,并通过实例展示如何结合Redis构建高效、可靠的缓存系统,以应对高并发、大数据量等挑战。
|
7月前
|
存储 缓存 监控
利用Redis构建高性能的缓存系统
在现今高负载、高并发的互联网应用中,缓存系统的重要性不言而喻。Redis,作为一款开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理。本文将深入探讨Redis的核心特性,以及如何利用Redis构建高性能的缓存系统,并通过实际案例展示Redis在提升系统性能方面的巨大潜力。
|
消息中间件 缓存 NoSQL
探索Redis发布订阅与消息队列:构建实时消息通信系统
本篇深入探讨了Redis的发布订阅模式和消息队列功能,展示了如何使用这两个特性构建实时消息通信系统。我们首先介绍了Redis的发布订阅模式,演示了如何通过PUBLISH命令将消息发布到特定频道,并使用SUBSCRIBE和UNSUBSCRIBE命令进行订阅和取消订阅操作。
593 0
|
7月前
|
存储 NoSQL Redis
使用Docker构建本地Redis容器及配置
使用Docker构建本地Redis容器及配置
128 1
|
7月前
|
存储 NoSQL 关系型数据库
轻松打卡:使用Spring Boot和Redis Bitmap构建高效签到系统【redis实战 四】
轻松打卡:使用Spring Boot和Redis Bitmap构建高效签到系统【redis实战 四】
440 0
|
NoSQL 架构师 IDE
Redis源码环境构建
Redis源码环境构建
124 0
|
边缘计算 开发框架 JSON
本地使用 Docker Compose 与 Nestjs 快速构建基于 Dapr 的 Redis 发布/订阅分布式应用
本地使用 Docker Compose 与 Nestjs 快速构建基于 Dapr 的 Redis 发布/订阅分布式应用。Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。
521 1
本地使用 Docker Compose 与 Nestjs 快速构建基于 Dapr 的 Redis 发布/订阅分布式应用
|
NoSQL 大数据 Redis