NOSQL概述
什么是NOSQL
概念:
NOSQL:Not Only SQL 不仅仅是SQL,通常指的是非关系型的数据库。MySQL和Oracle都是属性关系型数据库。
特点 |
关系型数据库 |
非关系型数据库 |
存储介质 |
以文件的方式保存在硬盘中 |
通常只存储在内存中,服务器关闭数据会部分或全部丢失 |
优点 |
数据库可以永久保存 |
存取速度非常快 |
缺点 |
1)数据添加有校验的过程 2)查询速度慢 3)DML的操作需要使用到事务 以上这些限制会导致速度很慢 |
数据不能及时保存,可能会导致数据丢失 |
非关系性数据库存储什么样的数据
数据是放在内存中,主要的目的是为了提高查询的速度,放在 redis 中的数据是经常要查询的数据,而且它是第二份,第一份数据还是放在 mysql 数据库中,相当于一个缓存。
为什么需要NOSQL
随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统数据库上都开始出现了性能瓶颈,web
程序不再仅仅专注在功能上,同时也在追求性能。所以 NOSQL 数据库应运而上,具体表现为对如下三高问题的
解决:
High Performance - 对数据库高并发读写的需求,在同一个时间点,同时有海量的用户并发访问。
Huge Storage - 对海量数据的高效率存储和访问的需求,数据库中数据量特别大,数据库表中每天产生海量的数据。
High Scalability && High Availability- 高可扩展性和高可用性的需求
主流的 NOSQL 产品
Redis 是一个开源的使用 C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并
提供多种语言的 API。
CouchDB 是一个开源的面向文档的数据库管理系统,具有高度可伸缩性,提供了高可用性和高可靠性,
CouchDB 是一个 Apache Software Foundation 开源项目。
MongoDB 是一个基于分布式文件存储的数据库。由 C++语言编写。旨在为 WEB 应用提供可扩展的高性能数
据存储解决方案。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
Redis
官方提供了Linux版的Redis下载
Window 版的 Redis下载
window 版的安装及其简单,解压 Redis 压缩包完成即安装完毕
安装注意事项
安装目录不要出现中文
目录不要太深
Redis 所在的硬盘空间大于 20G,会在目录产生一个 8G 大小文件。
Redis 的目录文件
启动和停止
启动redis:
启动Redis数据库服务器:进入安装目录,双击redis-serve.exe文件启动
启动Redis客户端:进入安装目录,双击redis-cli.exe文件启动,就可以编写 命令操作数据:进行增删改查操作。
停止redis:
直接关闭窗口即可
Redis五种数据类型及结构
string类型操作命令
字符串类型是Redis中最为基础的数据存储类型,在Redis中以二进制保存,没有编码和解码的过程。
hash类型操作命令
hash类型可以看成具有String的键和String的值Map容器,每一个Hash可以存储40亿个键值对
注意
hash类型底层结构对应java的HashMap类型
list类型操作命令
List类型是按照插入顺序排序的字符串链表,和数据结构中的普通链表一样,List中可以包含元素数量是40亿个
注意
1.list数据类型的特点:有序可重复
2.list类型底层结构对应java的ArrayList
set类型操作命令
可以将Set类型看作为没有排序的字符集合,和List类型一样
可包含的最大元素数量是40亿,和List类型不同是,Set集合中不允许出现重复的元素
注意
set数据类型的特点:无序且不能重复
set类型底层结构对应java的哪种类型:HashSet
zset类型操作命令
Redis 有序集合和集合一样也是无序不可以重复。不同的是每个元素都会关联一个分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复,每个集合可存储40多亿个成员。
redis通用命令
查看当前数据库的所有键的命令:keys *
删除键的命令:del 键 键
判断键是否存在的命令:exists 键
判断指定键的类型名:type 键
切换数据库的命令:select 数据库序号
转载需注明来处。如有侵权请联系删除
作者:Augaaa
数据类型
数据
关系
关系型数据库
nosql
Redis
数据库