redis数据库,因为是以内存形式存储,如果要永久存储,还需要做持久化,而mysql是以物理文件形式进行存储,IO读写虽然较慢,但是有很好的持久性,所以两者相互配合使用
为什么要学Redis?经久不衰
高性能
底层用C语言编写,内存数据库,通讯采用epoll非阻塞I/O多复用机制
线程安全
单线程,原子性
功能丰富
数据结构
持久化,能够支撑很多的互联网应用场景,比如缓存、分布式锁、队列、集合、GEO、bitmap操作等
储存热点数据
SQL NoSql
数据结构 结构化(Structured) 非结构化(1键值类型Redis,2文档类型MongoDB,3类型HBase,4Graph类型Neo4j)
数据关联 关联 无关联
查询方式 SQL查询 非SQL
事务特性 ACID BASE
存储方式 磁盘 内存
扩展性 垂直 水平
使用场景 数据结构固定,相关业务对数据安全性、一致性要求较高 数据结构不固定,对一致性、安全性要求不高,对性能要求
更新的6.0的多线程仅在网络请求上
key-value型,value支持多种不同的数据结构,功能丰富
低延迟,速度快(基于内存,IO多路复用,良好的编码)
支持数据持久化
支持主从集群,分片集群(数据拆分)
支持多语言客户端