一、NoSql概述
1、什么是NoSQL
NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。
2、关系型数据库和非关系型数据库的区别
NoSQL是非关系型数据库,如 Redis
关系型数据库,如:MySql、Oracle
- (1) 关系型数据库特点(Mysql Oracle SqlServer)
》 1:数据是由一张张的表组成,而且这些表与表之间有关系(一对一,一对多,多对多)
》 2:数据是存在硬盘上,每次访问时,是将数据从硬盘读取到内存中
- (2)非关系型数据库(NOSQL)特点 (Redis )
》1: 数据是有一个个的键值对:键:值,键:值
》2:数据是存在内存中,在满足需要的时候,也可以将数据存在硬盘上(Redis的持久化)
3、NoSQL特点
在大数据存取上具备关系型数据库无法比拟的性能优势,例如:
- (1)易扩展
NoSQL数据库种类繁多,但是-一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。 - (2)大数据量, 高性能
NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。 - (3)灵活的数据模型
NoSQL 无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。这点在大数据量的Web2.0时代尤其明显。 - (4)高可用
NoSQL 在不太影响性能的情况,就可以方便的实现高可用的架构。比如Cassandra, HBase模型,通过复制模型也能实现高可用。.
综上所述,NoSQL的非关系特性使其成为了后Web2.0时代的宠儿,助力大型Web2.0网站的再次起飞,是一项全新的数据库革命性运动。
4、为什么需要NoSQL?
(1) 所有的关系型数据库,都有三高问题
》》1 高并发
1秒内访问量巨大
》》2 高效率
读写速度
》》3 高扩展
不能随意修改表
NOSQL数据库(Redis)可以全部解决三高问题
(2)案例:12306
二、Redis的介绍***
1、什么是Redis?
Redis(Remote Dictionary Server ) 远程字典服务,是一个非关系型数据库。Redis是用C语言开发的一个开源的高性能键值对(key-value) 数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求。
2、Redis有什么用?
有了redis是否可以不使用Mysql,Oralce?
Redis一般用来存储经常访问的,但有不经常改变的数据
3、Redis有什么哪些应用场景?
- 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
- 聊天室的在线好友列表。
- 网站访问统计。
- 任务队列。(秒杀、抢购、12306 等等)
- 应用排行榜。
- 数据过期处理(可以精确到亳秒)
- 分布式集群架构中的session分离。
三、Redis软件下载
- (1)Linux版的Redis
官方提倡使用Linux版的Redis,所以官网值提供了Linux版的Redis下载。 - (2)我们可以从GitHub上下载window版的Redis,具体链接地址如下:
官网下载地址:http://redis.io/download
github下载地址:https://github.com/MSOpenTech/redis/tags
四、Redis软件目录
- (1)redis的目录结构
redis.windows.conf 配置文件
redis-server.exe 服务器执行程序
redis-cli.exe 客户端执行程序
startup.bat 服务器启动脚本(用该脚本启动服务器)
- (2)Redis端口是: 6379
Tomcat端口是:8080
MySql端口是: 3306 - (3)window版Redis的启动与关闭
启动:运行startup.bat
关闭:关闭窗口