非关系型数据库中的数据间没有关联关系,数据结构简单,在数据的增删改查时速度都比较快,缺点是不能支持复杂的操作,比如事务的ACID、复杂的锁机制,也因为数据间没有关联关系所以在查询符合条件的数据会很慢。所以我们通常只使用 NoSQL 来存储一些简单、不需要复杂操作的数据,如某个用户的粉丝数,某个博客的点赞数、字数等。
四种聚合模型
总结
传统的关系型数据库因为内部功能多,数据间存在关联,导致在数据量过大时操作起来比较困难。非关系型数据库则与之相反从而得到了很好的性能,在日益要求性能的今天起到了很好的作用,但是因为其不能实现复杂功能,所以对于一些需要复杂操作(读写锁、事务、多表联查等)还是使用关系型数据库,而对于一些简单数据,不需要太复杂操作的可以使用非关系型数据库。
**Redis **
redis 是一个单线程(底层使用IO多路复用模型)分布式数据库,也是一个典型的 NoSQL,它的执行效率非常高,其原因主要有以下几点:
1、是非关系型数据库,数据结构简单,且没有复杂的关联关系。
2、单线程操作,避免了多线程之间切换和竞争,并通过IO多路复用模型来避免传统 BIO 的低效执行。
3、数据存储在内存,读取时直接从内存中读取。
基础知识
1、在安装后相应的执行命令和配置文件默认在 /usr/local/bin/ 目录下
2、redis 默认有 16个数据库,0-15,默认是0号数据库,可以通过 " select 数据库号" 来切换数据库。数据库个数可以在 redis.conf 中配置。
3、redis 是统一密码管理,默认情况下没有开启密码,可以在配置文件 redis.conf 中配置开启
4、默认端口是 6379。
5、启动服务器:redis-server 配置文件全路径。配置文件可以是自定义的配置文件。启动客户端:redis -cli -p 6379。