ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis 学习日志

2022-07-14 05:00:26  阅读:200  来源: 互联网

标签:关系 缓存 NoSQL 数据库 redis 学习 服务器 日志 数据


redis 学习日志

redis 缓存

Nosql
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。

历史数据访问结构
APP->DAL->Mysql

由于数据量太大,并且需要建立索引,还要承担读写操作

衍生Memcaced(缓存层)+Mysql+读写分离
缓存:当读数据的时候会放到缓存区,之后有人访问会直接访问缓存减少了读的操作
读写分离:主机负责写操作,从机只负责读操作,降低io压力

分库分表+水平拆分+mysql集群
分库分表:数据量太大,读写的性能会下降,即使有索引,索引也会变得很大,性能同样会下降,缓解读写的压力
水平拆分:由于数据量大划分到不同的数据库,避免记录过多问题而导致查询时间长
垂直拆分:避免数据冗余,避免表过多或者字段过多臃肿问题,拆出不常用的列,降低复杂性

表锁:当写数据的时候会锁定整个表,这在高并发下会影响效率
行锁:当写数据的时候会锁定一行

当需求越来越大的时候,数据量大并且需要快速的读写,并且各种数据格式的出现


用户->防火墙->负载均衡主从机->多台服务器->数据库群集

缓存 移动信息服务器 hadoop集群 实时通信服务器 流媒体服务器 图片服务器 文件服务器 群发服务器

关系型数据库 RDBMS 例如mysql
非关系型数据库 Nosql 例如redis

传统的RDBMS
-结构化组织
-SQL
-数据和关系都存在单独的表中
-操作数据定义语言
-严格一致性
-基础的事务
-

Nosql
-没有固定查询语言
-多种数据格式
-键值对存储,列存储,文档存储,图形存储
-最终一致性,
-CAP定理和BASE(异地多活)
-高可用,高性能,可拓展

大数据5V:大量,多样,实时,价值(信息),质量(信息的准确)

NOSQL+RDBMS
关系型数据库与NoSQL数据库并非对立而是互补的关系,即通常情况下使用关系型数据库,在适合使用NoSQL的时候使用NoSQL数据库,让NoSQL数据库对关系型数据库的不足进行弥补。

非关系型数据库的优势:
1)性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。
2)可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。

关系型数据库的优势:
1)复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
2)事务支持使得对于安全性能很高的数据访问要求得以实现。对于这两类数据库,对方的优势就是自己的弱势,反之亦然。
nosql可以备份关系型数据库数据

行式数据库 每一行都是多种属性,一行一行查出相关属性或者不必要属性,建立索引需要大量时间和资源
列式数据库 每一列都是同一属性,一列直接查询对应属性,不需要建立额外索引,但如果查询所有字段则要全部查询然后拼接起来

mysql 端口号默认为3306
redis 端口号默认为6379

 

标签:关系,缓存,NoSQL,数据库,redis,学习,服务器,日志,数据
来源: https://www.cnblogs.com/1998lzr/p/16476169.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有