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

Redis-快速入门

目录

1、非关系型数据库与关系型数据库

1.1、关系型数据库

1.2、非关系型数据库

1.3、关系数据库与非关系型数据库区别

1.3.1、 数据存储方式不同

1.3.2、 扩展方式不同

1.3.3、 对事务性的支持不同

1.3.4、总结

2、Redis简介

2.1、下载Redis压缩包

2.2、桌面工具安装


1、非关系型数据库与关系型数据库

1.1、关系型数据库

关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。

SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。

主流的关系型数据库包括 OracleMySQLSQL ServerMicrosoft AccessDB2 等。

优点:

  • 易于维护:都是使用表结构,格式一致
  • 使用方便:SQL语言通用,可用于复杂查询
  • 支持复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询

缺点

  • 读写性能比较差,尤其是海量数据的高效率读写
  • 固定的表结构,灵活度稍欠
  • 对于高并发读写的需求,传统关系型数据库节点的硬盘I/O是一个很大的瓶颈
1.2、非关系型数据库

NoSql 可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库

主流的 NoSQL 数据库有 RedisMongBDHbaseCouhDB 等。

1.3、关系数据库与非关系型数据库区别
1.3.1、 数据存储方式不同

关系型和非关系型数据库的主要差异是数据存储的方式。关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。

与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。

传统关系型数据库是结构化数据,每一张表都有严格的约束信息:字段名、字段数据类型、字段约束等等信息,插入的数据必须遵守这些约束:

而NoSql则对数据库格式没有严格约束,往往形式松散,自由。

可以是键值型:

也可以是文档型:

甚至可以是图格式:

传统数据库的表与表之间往往存在关联,例如外键:

非关系型数据库不存在关联关系,要维护关系要么靠代码中的业务逻辑,要么靠数据之间的耦合:

{
  id: 1,
  name: "张三",
  orders: [
    {
       id: 1,
       item: {
	 id: 10, title: "荣耀6", price: 4999
       }
    },
    {
       id: 2,
       item: {
	 id: 20, title: "小米11", price: 3999
       }
    }
  ]
}

此处要维护“张三”的订单与商品“荣耀”和“小米11”的关系,不得不冗余的将这两个商品保存在张三的订单文档中,不够优雅。还是建议用业务来维护关联关系。

1.3.2、 扩展方式不同

SQL和NoSQL数据库最大的差别可能是在扩展方式上,要支持日益增长的需求当然要扩展。

要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,这都需要通过提高计算机性能来客服。虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。

而NoSQL数据库是横向扩展的。因为非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。

1.3.3、 对事务性的支持不同

如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务。

虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较,所以它们真正闪亮的价值是在操作的扩展性和大数据量处理方面。

1.3.4、总结

在存储方式、扩展性、查询性能上关系型与非关系型也都有着显著差异,总结如下:

  • 存储方式
    • 关系型数据库基于磁盘进行存储,会有大量的磁盘IO,对性能有一定影响
    • 非关系型数据库,他们的操作更多的是依赖于内存来操作,内存的读写速度会非常快,性能自然会好一些
  • 扩展性
    • 关系型数据库集群模式一般是主从,主从数据一致,起到数据备份的作用,称为垂直扩展。
    • 非关系型数据库可以将数据拆分,存储在不同机器上,可以保存海量数据,解决内存大小有限的问题。称为水平扩展。
    • 关系型数据库因为表之间存在关联关系,如果做水平扩展会给数据查询带来很多麻烦

2、Redis简介

Redis诞生于2009年全称是Remote Dictionary Server 远程词典服务器,是一个基于内存的键值型NoSQL数据库。

特征

  • 键值(key-value)型,value支持多种不同数据结构,功能丰富
  • 单线程,每个命令具备原子性
  • 低延迟,速度快(基于内存、IO多路复用、良好的编码)。
  • 支持数据持久化
  • 支持主从集群、分片集群
  • 支持多语言客户端

Redis的官方网站地址:Redis - The Real-time Data Platform

2.1、下载Redis压缩包

下载地址: https://github.com/tporadowski/redis/releases ;解压:

双击redis-server.exe启动:

2.2、桌面工具安装

在这个仓库可以找到安装包:https://github.com/lework/RedisDesktopManager-Windows/releases

双击安装:

http://www.dtcms.com/a/99831.html

相关文章:

  • GPT Actions
  • 【硬件测试】基于FPGA的16QAM+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
  • 【Find My全球市场观察:中国制造如何改写游戏规则?】
  • 游戏引擎学习第191天
  • 【Python】工作笔记:返回当月第一天、昨天;上月第一天、当天;全年节假日
  • 淘宝客户端动态化页面搭建
  • Linux课程学习一
  • 【区块链安全 | 第五篇】DeFi概念详解
  • Kubernetes比同规格虚拟机性能相差多少?
  • 《Express:Node.js 里的 “闪电侠”》
  • Playwright从入门到实战:比Selenium更快的数据爬取案例实战
  • STL-string容器
  • 蓝桥杯嵌入式学习笔记
  • SQL IF(xxx, 1, 0) 窗口函数
  • 【嵌入式学习3】TCP服务器客户端 - UDP发送端接收端
  • Supabase 匿名密钥与服务角色密钥详细对比文档
  • .NET 9 中的新增功能:关键更新和 C# 12 功能简化
  • C#核心学习(一)面向过程与面向对象编程---初识类和对象
  • 深入理解MySQL聚集索引与非聚集索引
  • fetch的语法规则及常见用法
  • EasyExcel 与 Apache POI:Java 操作 Excel 的详解
  • 6-1-1 利用AI完成一个可视化看板
  • 如何监控和优化服务器的 CPU 性能
  • 视频联网平台智慧运维系统:智能时代的城市视觉中枢
  • 记录一次Dell服务器更换内存条报错解决过程No memory found
  • 基于微波光子信道的图像传输系统matlab仿真,调制方式采用OFDM+QPSK,LDPC编译码以及LS信道估计
  • 机器学习——集成学习框架(GBDT、XGBoost、LightGBM、CatBoost)、调参方法
  • 计算机基础
  • 睡眠健康领域的智能硬件设备未来的发展趋势
  • C语言术语