指 : 非关系型数据库.数据模型之间不再包含对应关系. 作用范围 : 数据量大的情况
非关系型数据库 : Redis, MongoDB,Hbase等
关系型数据库 : Mysql , Oracle , MS-SqlServer ,遵守ACID原则
1、A (Atomicity) 原子性
事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。
2、C (Consistency) 一致性
数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
3、I (Isolation) 独立性
并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。
4、D (Durability) 持久性
一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。
1. Redis是一个Key-Value结构的存储系统(相当于一个超大型的Map);
2. Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统。
3. 它支持存储的类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。
4. 为了保证效率,数据都是缓存在内存中。同时,redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
1. 高性能,持久存储,适应高并发的应用场景。
2. 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。
3. Redis数据库完全在内存中,使用磁盘仅用于持久性。
4. Redis可以将数据复制到任意数量的从服务器。
1. 异常快速:Redis的速度非常快,支持丰富的数据。读的速度是110000次/s,写的速度是81000次/s 。
2. 类型:Redis支持多数开发人员已经知道的类型。像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。
3. 操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
4. 多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。
l 数据类型介绍
1. 存储字符串类型的值,一般也可以做计数器使用
2. 单个String最多能存储512M
l 语法介绍
1. SET [KEY] [VALUE] –新增或修改key的值
2. GET [KEY] – 获取key的值
3. INCR [KEY] – 将key中存储的value值做+1操作
4. INCRBY [KEY] [INCREMENT] – 将key中存储的value加上指定的增量值(increment)
5. DECR [KEY] – 将key中存储的value值做-1操作
6. DECRBY [KEY] [INCREMENT] – 将key中存储的value减去指定的增量值(increment)