想要了解redis,我们需要先引入NoSQL的概念
NoSQL是什么
Not Only SQL ,不仅仅是SQL,是一项全新的数据库理念,泛指非关系型数据库。
为什么会出现NoSQL
它的出现是为了解决传统数据库的在互联网web发展中遇见的问题,特别是面对超大规模和高并发的网址时。克服的问题:
- High performance -对数据库的高并发读写需求
比如在线点击次数,在线人数,在线购票,投票计数等
- Huge Storage -对海量数据的高效率存储和访问需求
比如facebook 等 sns网站,海量的动态信息,sql查询效率十分低下
- High Scalability && HighAvailability 对数据库的高扩展和高可用性需求
NoSQL数据库的分类
数据库类型 | 产品 | 优点 | 缺点 | 典型运用 |
---|---|---|---|---|
键值型数据库 | Tokyo Cabinet/Tyrant、Redis | 快速查询 | 存储数据缺少结构化 | 内容缓存,处理大量数据的高访问负载 |
列存储数据库 | Cassandra,HBase,Riak | 查找速度快,可扩展强,容易进行分布式扩展 | 功能相对局限 | 分布式文件系统 |
文档型数据库 | CouchDB、MongoDB | 数据结构要求不严格 | 查询效率不高、而且缺乏统一查询语言 | web |
图形数据库 | Neo4J、InfoGrid | 可利用图结构算法 | 需要对整个图做计算才能得到结果,不容易做分布式的集群方案 | 社交网络 |
NoSql特点:
数据库高并发读写,
海量数据高效率存储,
可扩展,高可用
灵活的数据模型
什么是redis?
由C语言实现的直接操作内存的开源的高性能的数据库软件