当前位置:网站首页>Redis1:Redis介绍、Redis基本特性、关系型数据库、非关系型数据库、数据库发展阶段
Redis1:Redis介绍、Redis基本特性、关系型数据库、非关系型数据库、数据库发展阶段
2022-08-05 03:26:00 【郝开】
Redis介绍
Remote Dictionary Service:翻译过来就是远程字典服务,简称redis。
为什么使用redis,需要先弄明白关系型数据库和非关系型数据库的区别,也就是SQL和NoSQL的区别和使用场景。
关系型数据库
俗称的SQL数据库,主流的MySQL、Oracle。
关系型数据库的特点
- 基于行存储数据,二维的模式(用表格的方式存储,有行有列)
- 存储结构化的数据,数据存储有固定的模式(schema)
- 表与表之间存在关联(Relationship)
- 大都支持SQL(结构化查询语言)的操作,支持复杂的关联查询
- 通过支持事务ACID(酸)来提供严格或者实时的数据一致性
关系型数据库的不足
- 要实现扩容难,只能向上(垂直)扩展,不支持动态的扩缩容,如果要实现水平扩容的话,需要引进一些复杂的技术,比如分库分表
- 表结构修改困难,因此存储的数据格式也受到限制
- 高并发情况下,基于磁盘的读写压力比较大
非关系型数据库
non relational,或者NoSQL,主流的Redis、MongoDB。
开始的时候,之所以叫NoSQL,刚开始是因为它不支持结构化查询语言(SQL)的操作,后来演变成not only SQL,不仅仅是SQL。
非关系型数据库特点
- 存储非结构化的数据,比如文本、图片、音频、视频
- 表与表之间没有关联,可扩展性强
- 保证数据的最终一致性,遵循BASE(碱)理论
- 支持海量数据的存储和高并发的高效读写
- 支持分布式,能够对数据进行分片存储,扩缩容简单
NoSQL的类型
- KV存储:Redis和Memcached
- 文档存储:MongoDB
- 列存储:HBase
- 图存储:Neo4j
- 对象存储
- XML存储
- ······
数据库发展阶段
| 特性 | SQL | NoSQL | NewSQL(比如TiDB) |
|---|---|---|---|
| 关系模型 | √ | × | √ |
| SQL语法 | √ | × | √ |
| ACID | √ | × | √ |
| 水平扩展 | × | √ | √ |
| 海量数据 | × | √ | √ |
| 无结构化 | × | √ | √ |
Redis基本特性
- 速度快,放在了内存当中
- 支持多种数据类型(Memcached只支持KV)
- 支持多种编程语言
- 持久化、内存淘汰(Memcached没有持久化的机制)
- 功能丰富:事务、发布订阅、pipeline、lua
- 集群、分布式(Memcached不支持集群的主从设置,Memcached设计是多线程的)
边栏推荐
- 大像素全景制作完成后,推广方式有哪些?
- Initial solution of the structure
- Developing Hololens encountered The type or namespace name 'HandMeshVertex' could not be found..
- 剑指Offer--找出数组中重复的数字(三种解法)
- YYGH-13-Customer Service Center
- [论文笔记] MapReduce: Simplified Data Processing on Large Clusters
- Why did they choose to fall in love with AI?
- 【软件测试】自动化测试之unittest框架
- 开发Hololens遇到The type or namespace name ‘HandMeshVertex‘ could not be found..
- Kubernetes 网络入门
猜你喜欢

用Unity发布APP到Hololens2无坑教程

How to discover a valuable GameFi?

Web3.0 Dapps——通往未来金融世界的道路

今年七夕,「情蔬」比礼物更有爱

Shell script: for loop and the while loop

Walter talked little knowledge | "remote passthrough" that something

静态方法获取配置文件数据

The usage of try...catch and finally in js

Talking about data security governance and privacy computing

public static
List asList(T... a) What is the prototype?
随机推荐
(11) Metaclass
High Item 02 Information System Project Management Fundamentals
rpc-remote procedure call demo
包拉链不可用,但是是被另一个包。
public static
List asList(T... a) What is the prototype? 21 Days Learning Challenge (2) Use of Graphical Device Trees
为什么pca分量没有关联
Flink 1.15.1 Cluster Construction (StandaloneSession)
【滤波跟踪】基于matlab无迹卡尔曼滤波惯性导航+DVL组合导航【含Matlab源码 2019期】
思考(八十八):使用 protobuf 自定义选项,做数据多版本管理
Hash table lookup (hash table)
Solana NFT开发指南
Use SuperMap iDesktopX data migration tool to migrate map documents and symbols
Burp installation and proxy settings
Kubernetes 网络入门
MRTK3 develops Hololens application - gesture drag, rotate, zoom object implementation
presto启动成功后出现2022-08-04T17:50:58.296+0800 ERROR Announcer-3 io.airlift.discovery.client.Announcer
MRTK3开发Hololens应用-手势拖拽、旋转 、缩放物体实现
结构体初解
Dive into how it works together by simulating Vite