我是靠谱客的博主 炙热太阳,最近开发中收集的这篇文章主要介绍redis--非关系型数据库redis–非关系型数据库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

redis–非关系型数据库

1.NOSQL

​ 概念:NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。是对所有非关系型数据库的一种统称。出去关系型数据库之外的都是非关系型数据库。

​ 在现代的计算系统上每天网络上都会产生庞大的数据量。

​ 这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。 1970年 E.F.Codd’s提出的关系模型的论文 “A relational model of data for large shared data banks”,这使得数据建模和应用程序编程更加简单。

​ 通过应用实践证明,关系模型是非常适合于客户服务器编程,远远超出预期的利益,今天它是结构化数据存储在网络和商务应用的主导技术。

​ NoSQL 是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

2.NOSQL和RDBMS的区别

RDBMS

  • 高度组织化结构化数据。 user—userid username age sex …
  • 结构化查询语言(SQL) sql语句
  • 数据和关系都存储在单独的表中。
  • 数据操纵语言DML,数据定义语言DDL
  • 严格的一致性. 事务
  • 基于事务

NOSQL

  • 代表着不仅仅是SQL
  • 没有声明性查询语言
  • 键 - 值对存储。
  • 最终一致性,而非ACID【原子,一致,隔离,持久】属性
  • 非结构化和不可预知的数据 字符串 对象 队列 集合
  • 高性能,高可用性和可伸缩性。 适合搭建集群。 mysql搭建集群。非常复杂。主从模式

3.常见的NOSQL数据库类型

类型:

​ 1.文档数据库——这些数据库通常将每个键与称为文档的复杂数据结构配对。文档可以包含键数组对、键值对甚至嵌套文档。示例:MongoDB、Apache CouchDB、ArangoDB、Couchbase、Cosmos DB、IBM Domino、MarkLogic、OrientDB。

​ 2. 键值存储——每个单独的项都存储为键值对。键值存储是所有NoSQL数据库中最简单的数据库。示例:Redis, Memcached, Apache Ignite, Riak。

​ 3. 宽列存储——这些类型的数据库针对大型数据集上的查询进行了优化,它们将数据列存储在一起,而不是行。示例:Cassandra,Hbase,Scylla。

4. 图形存储——这些存储关于图形、网络的信息,例如社会关系、路线图、交通链接。示例:Neo4j,AllegroGraph。

4.redis与mongdb区别

REDIS就属于非关系型数据库

MONGDB也属于非关系型数据库----接近mysql数据库

	MongoDB是最著名的NoSQL数据库。它是一个面向文档的开源数据库。MongoDB是一个可伸缩和可访问的数据库。它在c++中。MongoDB同样可以用作文件系统。在MongoDB中,JavaScript可以作为查询语言使用。通过使用sharding  MongoDB水平伸缩。它在流行的JavaScript框架中非常有用。人们真的很享受分片、高级文本搜索、gridFS和map-reduce功能。惊人的性能和新特性使这个NoSQL数据库在我们的列表中名列第一。

特点

  • 提供高性能;
  • 自动分片;
  • 运行在多个服务器上;
  • 支持主从复制;
  • 数据以JSON样式文档的形式存储;
  • 索引文档中的任何字段;
  • 由于数据被放置在碎片中,所以它具有自动负载平衡配置;
  • 支持正则表达式搜索;在失败的情况下易于管理。

优点

  • 易于安装MongoDB;
  • MongoDB Inc.为客户提供专业支持;
  • 支持临时查询;
  • 高速数据库;
  • 无模式数据库;
  • 横向扩展数据库;
  • 性能非常高。

缺点

  • 不支持连接;
  • 数据量大;
  • 嵌套文档是有限的;
  • 增加不必要的内存使用

5.redis非关系数据库

​ REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。

​ Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。

​ Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

​ Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(set)和有序集合(sorted set)等类型。

6.为什么使用redis

​ 1.Redis读取的速度是110000次/s,写的速度是81000次/s

​ 2.原子 Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

​ 3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)

​ 4.持久化–磁盘,主从复制(集群)

​ 5.官方不支持window系统,但是又第三方版本。 linux系统。

最后

以上就是炙热太阳为你收集整理的redis--非关系型数据库redis–非关系型数据库的全部内容,希望文章能够帮你解决redis--非关系型数据库redis–非关系型数据库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部