Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)

NoSql

1.历史

1.单机MySql

APP-->DAL-->MySql

初期:一般网站访问量比较少,单机数据库就够用,更多地使用静态网页html 服务器够用

晋级:

  1. 数据量太大,机器存储不了;
  2. 数据的索引,一个机器也放不下;
  3. 访问量,一个服务器承受不了

2.Memcached(缓存)+MySql+垂直拆分(读写分离)

APP-->DEL-->多个MySql读写分离-->引用缓存 , 为了减少服务器的压力,我么可以使用缓存来保证效率

发展过程:优化数据库和索引–>文件缓存(IO)–>Memcached(当时最热门的技术!)

3.分库分表+水平拆分+MySql集群

本质:数据库(读写)
早些年MyISAM:表锁,十分影响效率,高并发下就会出现严重的锁问题

出现innodb:行锁

然后就出现使用分库分区来解决写的压力!MySQL推出了分库操作

4.如今最近的年代

斗转星移,翻天地覆
关系型数据库很快就不够用了(数据量很多,变化很快)
要设计出一种能够处理大型数据的技术

5. 为什么要使用NoSQL

用户的个人信息,地理位置,产生的数据与,日志的爆发式增长

2.什么是NoSQL

1.NOSQL

not noly sql:泛指非关系型数据库!
NoSQL在当今大数据环境下发展的十分迅速,Redis是发展最快的,而且是我们当下必须要掌握的技术

有很多数据存储并不是一个固定的格式!可以进行横向拓展

2.特点

  1. 方便扩展
  2. 大数据提高性能(redis一秒写8万次,读11万次)
  3. 数据类型是多样性的(不需要事先设计数据库,随用随取)
  4. 传统的RDBMS(关系型数据库)和NoSQL(非关系型数据库,三高:高性能,高可用,高可扩)

3. 3v+3高

大数据的3v:主要是描述问题的

  • 海量的volumn
  • 多样的variety
  • 实时的velocity

大数据的3高:主要是解决问题的

  • 高并发
  • 高可扩
  • 高性能

所有牛逼的人,只要你像sb一样去坚持,终将成功

大型互联网应用问题:

  • 数据类型太多了
  • 数据源繁多,经常重构
  • 数据要改造

解决问题:加一层即可

3.NoSQL的四大分类

1.kv键值对:

  • 新浪:Redis
  • 美团:Redis+Tair
  • 阿里,百度:Redis+memecache

2.文档型数据库(bson和json一样):

MongoDB (必须掌握) ,用来处理大量的文档
是一个介于关系型数据库和非关系型数据库的中间产品,最像关系型数据库的
ConthDB

3.列存储数据库:

  • HBase
  • 分布式文件系统

4.图关系型数据库

不是存图形的,放的是关系,比如:社交网络
Neo4j infoGrid

Redis

1.初始redis

1.简介

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

支持的语言:Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)

2.redis能干吗?

  1. 内存存储,持久化,内存是断电既失的,持久化很重要(rdb,aof)
  2. 效率高,用于高速缓存
  3. 发布订阅系统
  4. 地图信息分析
  5. 计时器,计数器(浏览量)

3.特性

  1. 多样的数据类型
  2. 集群
  3. 持久化
  4. 事务

2.安装Redis

1.Linux下暗安装(多,企业多用)

  1. 下载安装包,redis官网下载(可在虚拟机内下载,也可在Windows下下载拖进虚拟机)
  2. 解压 tar -zvxf name Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
  3. 基本的环境安装:
    yum install gcc-c++:安装gcc
    make:配置相关环境Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
  4. 默认安装路径:/usr/local/binLinux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
  5. 复制一份配置文件,以后的操作都在这里进行Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
  6. redis默认不是后台启动的,我们对其进行处理vim redis-configLinux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
  7. 启动redis
    小插曲Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
    解决方案 :./redis-server myconfig/redis.conf 路径问题
    正常启动界面Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
  8. 使用redis客户端进行连接./redis-cli -p 6379Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
  9. 查看进程,新开启一个命令行Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
  10. 关闭redis服务 shutdown 关闭退出 Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
  11. 再次查看进程是否存在,在新命令行中ps -ef|grep redisLinux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)

2.Windows下安装

  1. 下载redis安装包,解压:
    链接:https://pan.baidu.com/s/1yb-JNA1w_P9I2yNTxyOtqg
    提取码:0v50

Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)

  1. 解压之后Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)

  2. 开启redis-server.exe服务端,双击启动服务(默认端口号6379)
    Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)

  3. 点击redis-cli.exe,打开客户端

  4. 测试连接 pingLinux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)