Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)
文章目录
NoSql
1.历史
1.单机MySql
APP-->DAL-->MySql
初期:一般网站访问量比较少,单机数据库就够用,更多地使用静态网页html 服务器够用
晋级:
- 数据量太大,机器存储不了;
- 数据的索引,一个机器也放不下;
- 访问量,一个服务器承受不了
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.特点
- 方便扩展
- 大数据提高性能(redis一秒写8万次,读11万次)
- 数据类型是多样性的(不需要事先设计数据库,随用随取)
- 传统的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
支持的语言:
2.redis能干吗?
- 内存存储,持久化,内存是断电既失的,持久化很重要(rdb,aof)
- 效率高,用于高速缓存
- 发布订阅系统
- 地图信息分析
- 计时器,计数器(浏览量)
3.特性
- 多样的数据类型
- 集群
- 持久化
- 事务
2.安装Redis
1.Linux下暗安装(多,企业多用)
- 下载安装包,redis官网下载(可在虚拟机内下载,也可在Windows下下载拖进虚拟机)
- 解压
tar -zvxf name
- 基本的环境安装:
yum install gcc-c++
:安装gccmake
:配置相关环境 - 默认安装路径:
/usr/local/bin
- 复制一份配置文件,以后的操作都在这里进行
- redis默认不是后台启动的,我们对其进行处理
vim redis-config
- 启动redis
小插曲
解决方案 :./redis-server myconfig/redis.conf
路径问题
正常启动界面 - 使用redis客户端进行连接
./redis-cli -p 6379
- 查看进程,新开启一个命令行
- 关闭redis服务
shutdown
关闭退出 - 再次查看进程是否存在,在新命令行中
ps -ef|grep redis
2.Windows下安装
- 下载redis安装包,解压:
链接:https://pan.baidu.com/s/1yb-JNA1w_P9I2yNTxyOtqg
提取码:0v50
-
解压之后
-
开启
redis-server.exe
服务端,双击启动服务(默认端口号6379) -
点击
redis-cli.exe
,打开客户端 -
测试连接
ping