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

数据库管理-Redis

数据库管理-Redis

    • 一、关系型数据库和非关系型数据库
      • 1、关系型数据库(Relational Database Management System, RDBMS):
      • 2、非关系型数据库(NoSQL Database Management System):
    • 二、redis简述

在这里插入图片描述

  • redis是把数据保存在内存上的,所以该问题主要是考察redis持久化的方案

在这里插入图片描述

一、关系型数据库和非关系型数据库

关系型数据库和非关系型数据库是两种不同类型的数据库管理系统,它们在数据存储、查询和管理方式上有很大的不同。

1、关系型数据库(Relational Database Management System, RDBMS):

关系型数据库是一种基于关系模型的数据库,它使用表格来存储数据,并通过行和列来组织数据。关系型数据库的主要特点包括:

  1. 结构化数据:关系型数据库中的数据以预定义的结构存储,通常遵循一种称为“表”的数据结构。每个表包含多个字段(列),每个字段都有一个特定的数据类型。

  2. 数据一致性:关系型数据库通过主键(Primary Key)和外键(Foreign Key)之间的关系来确保数据的一致性和完整性。

  3. SQL语言:关系型数据库通常使用SQL(结构化查询语言)进行数据操作和查询。

  4. ACID事务:关系型数据库支持ACID事务,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

常见的关系型数据库有MySQL、Oracle、PostgreSQL等。

2、非关系型数据库(NoSQL Database Management System):

非关系型数据库是一种不遵循关系模型的数据库,它们主要用于处理大量分布式数据和半结构化数据。非关系型数据库的主要特点包括:

  1. 灵活的数据模型:非关系型数据库允许存储多种类型的数据结构,如键值对、文档、图形等,这使得它们非常适合处理复杂的数据结构和多样化的数据类型。

  2. 高性能和可扩展性:非关系型数据库通常具有更高的读写性能和更好的水平扩展能力,因为它们不需要维护复杂的表结构和关联关系。

  3. 高可用性和容错性:许多非关系型数据库支持分布式架构,可以在多个节点之间自动分配数据和负载,从而提高系统的可用性和容错性。

  4. 无SQL语言:非关系型数据库通常不支持SQL语言,而是使用自己的查询语言或API进行数据操作和查询。

常见的非关系型数据库有MongoDB、Cassandra、Redis等。

总结来说,关系型数据库和非关系型数据库各有优缺点,适用于不同的应用场景。关系型数据库更适合处理结构化数据和需要严格数据一致性的业务场景,而非关系型数据库则更适合处理大规模分布式数据和需要高并发读写性能的应用。

二、redis简述

Redis是一种开源的内存键值存储系统,具备高性能、支持丰富的数据类型和持久化特性。它通过单线程模型和事件驱动机制实现高并发的数据处理,广泛应用于缓存、消息队列和实时分析等场景。

作为一个高效的NoSQL数据库,Redis主要运行在内存中,这使得其读写速度非常快,能够满足低延迟的读写需求。同时,它还支持多种数据结构,包括String(字符串)、Hash(哈希)、List(列表)、Set(集合)和Sorted Set(有序集合)。这些丰富的数据类型为开发者提供了灵活的数据操作能力,使Redis能够适应各种不同的应用场景。

Redis采用单线程处理模型,避免了多线程中的同步和竞争问题,并通过异步I/O和事件驱动来实现高并发性能。它的所有操作都是原子性的,确保了数据的一致性和完整性。这种单线程架构不仅提高了性能,还简化了并发控制的复杂性。

Redis还支持持久化,可以将内存中的数据定期保存到磁盘上,以防止数据丢失。它提供了两种持久化方式:RDB(Redis Database)和AOF(Append Only File)。RDB定期将数据快照保存到文件中,而AOF则是将每个写操作追加到文件中。

此外,Redis还具有主从复制功能,可以通过从节点进行数据备份或分担读请求,提高系统的可用性和伸缩性。它内置的发布订阅模式允许客户端之间通过消息传递进行通信,使得Redis可以作为消息队列和实时数据传输的平台。

总结起来,Redis以其高性能、丰富的数据类型和支持持久化等特点,成为适合处理高并发请求的理想选择,并已广泛应用于缓存系统、会话存储、排行榜、实时分析和地理空间数据索引等多种场景。
在这里插入图片描述

  • key-value是键值对的存储结构,并且redis没有库表结构

在这里插入图片描述
在这里插入图片描述

  • 保存RDB文件文件期间会阻塞主进程
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 主主从数据库备份模式

在这里插入图片描述
在这里插入图片描述

  • amoeba的配置和其从资源池的信息

在这里插入图片描述

  • Redis处理方式

在这里插入图片描述

  • Redis和mysql的工作模型

在这里插入图片描述
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • VS2022 C++ EasyX EGE 吃豆人升级版
  • 白骑士的Matlab教学进阶篇 2.5 Simulink
  • C语言 ——— 在杨氏矩阵中查找具体的某个数
  • IT管理:我与IT的故事1--努力是成功的序曲
  • Redis缓存配置
  • 大数据治理平台建设与应用解决方案(41页PPT)
  • JAVA解压文件到目标目录
  • Nginx系列-负载均衡
  • 思科静态路由配置1
  • 实训日记day27
  • 热搜|“月薪4300一个月的存钱计划”,普通人如何实现财富自由?
  • C:每日一题:单身狗
  • 汇昌联信做拼多多店铺如何运营?
  • 微信小程序 for,if语法 事件对象,事件传参
  • 岗位信息采集全攻略:两种方法快速获取招聘信息
  • #Java异常处理
  • CAP 一致性协议及应用解析
  • crontab执行失败的多种原因
  • DataBase in Android
  • eclipse(luna)创建web工程
  • ES6 ...操作符
  • go append函数以及写入
  • HashMap剖析之内部结构
  • Java基本数据类型之Number
  • Laravel 实践之路: 数据库迁移与数据填充
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • MD5加密原理解析及OC版原理实现
  • orm2 中文文档 3.1 模型属性
  • Python学习笔记 字符串拼接
  • Python学习之路13-记分
  • VuePress 静态网站生成
  • yii2权限控制rbac之rule详细讲解
  • 大整数乘法-表格法
  • 当SetTimeout遇到了字符串
  • 区块链技术特点之去中心化特性
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 小试R空间处理新库sf
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 通过调用文摘列表API获取文摘
  • 正则表达式-基础知识Review
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​如何在iOS手机上查看应用日志
  • #1015 : KMP算法
  • $GOPATH/go.mod exists but should not goland
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (Git) gitignore基础使用
  • (LeetCode 49)Anagrams
  • (十三)Flink SQL
  • (五)activiti-modeler 编辑器初步优化
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转载)CentOS查看系统信息|CentOS查看命令
  • *Django中的Ajax 纯js的书写样式1
  • ... 是什么 ?... 有什么用处?