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 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。
主流的关系型数据库包括 Oracle
、MySQL
、SQL Server
、Microsoft Access
、DB2
等。
优点:
- 易于维护:都是使用表结构,格式一致
- 使用方便:SQL语言通用,可用于复杂查询
- 支持复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询
缺点:
- 读写性能比较差,尤其是海量数据的高效率读写
- 固定的表结构,灵活度稍欠
- 对于高并发读写的需求,传统关系型数据库节点的硬盘I/O是一个很大的瓶颈
1.2、非关系型数据库
NoSql 可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库。
主流的 NoSQL 数据库有 Redis
、MongBD
、Hbase
、CouhDB
等。
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
双击安装: