1.非关系型数据库,以key-value形式存储数据,不一定遵循传统数据库的一些基本要求,比如表结构、sql标准、ACID属性等。
注:ACID是指数据库的事务操作。
2.具有以下特点:非关系型的、分布式的、开源的、水平扩展的。
注:a.处理超大量数据
b.运行在较为便宜的pc服务器集群上
c.击碎了性能瓶颈:
noSql的适用场景
1.对数据的高并发读写
2.对海量数据的高效率的存储和访问
3.对数据的高可扩展性和高可用性
redis是一个开源的,先进的key-value存储。通常被称之为数据库结构服务器,因为键可以包含字符串、哈希、链表、集合和有序集合。支持的value也有好多种,包括字符串(String)、链表(List)、集合(set)、有序集合(zset)。这些数据都只从push/pop、add/remove操作、以及交集、并集操作,同时支持不同方式的排序。为了保证效率,数据都是存储在内存中,它也可以周期性的把更新的数据写入到磁盘或者把修改操作写入追加的记录文件。
常用的使用方式:
1.应用程序直接访问redis服务器
2.应用程序直接访问redis,当redis访问失败时访问redis。(当应用程序访问redis时,出现update和insert操作时,redis访问mysql数据库,将数据更新到数据库中)
可以使用的场景:
1.取最新N个数据操作
2.取topN操作
3.需要精确设定过期时间的应用
4.计数器应用
5.Uniq操作,获取一段时间内所有数据排重值
6.实时系统,反垃圾系统
7.pub/sub构建实时消息系统,redis的独有的系统,发布和订阅
8.构建队列系统,可以构建栈(List)或者队列
9.缓存