非关系型数据库
Redis是其中的一种
技术分类
解决功能性问题
语言:java
页面:ftl
数据库
服务器
版本控制工具
系统
连接数据库驱动
解决扩展性问题
框架:Struts 、Spring 、SpringMVC 、Hibernate 、MyBatis
解决性能问题
NoSQL缓存数据库,可以缓解cpu和内存压力,减少了io的读操作,mysql单表瓶颈500万到1000万
Java线程
Hadoop大数据费
Nginx负载均衡
MQ消息队列,请求在这排成队,一个一个的通过
ElasticSearch搜索引擎,底层所使用的技术
概述
不依赖业务逻辑方式存储,而已简单的key-value模式存储,大大的增加了数据库的扩展能力
不遵循SQL标准
不支持ACID (事务)
远超于SQL的性能
适用场景
对海量数据的读写
对数据高并发的读写
对数据高可扩展性
用不着或用了sql也不行的情况
不适用场景
需要事务支持
基于sql的结构化查询存储,处理复杂的关系,需要即席查询(马上要结果)
Memcached
很早出行的NoSQL数据库
数据都在内存中,一般不持久化
支持K-V模式
一般作为缓存数据库辅助支持持久化的数据库
Redis
几乎覆盖了Memcached的绝大部分功能
数据都在内存中,支持持久化,主要用作备份恢复
除了支持简单的K-V模式,还支持多种数据结构的存储,例如list、set、hash、zset等
一般作为缓存数据库辅助持久化的数据库
mongoDB
文档型数据库
高性能
开源
模式自由
对K-V使用json保存