初始
mysql和redis的数据库类型
mysql是关系型
数据库,主要用于存放持久化数据
,将数据存储在硬盘中
,读取速度较慢
。
redis是NOSQL,即非关系型数据库
,也是缓存数据库
,即将数据存储在缓存中
,缓存的读取速度快
,能够大大的提高运行效率,但是保存时间有限
。
mysql的运行机制
mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作
,如果反复频繁的访问数据库。第一:会在反复链接数据库上花费大量时间
,从而导致运行效率过慢;第二:反复的访问数据库也会导致数据库的负载过高
,那么此时缓存的概念就衍生了出来。
缓存
缓存就是数据交换的缓冲区(cache),当浏览器执行请求时,首先会在缓存中进行查找
,如果存在,就获取;否则就访问数据库
。
缓存的好处就是读取速度快
redis数据库
redis数据库就是一款缓存数据库,用于存储使用频繁的数据
,这样减少访问数据库的次数
,提高运行效率。
区别总结
类型上
从类型上来说,mysql是关系型数据库,redis是缓存数据库
作用上
mysql用于持久化的存储数据到硬盘
,功能强大,速度较慢
,基于磁盘
,读写速度没有Redis快,但是不受空间容量限制
,性价比高
redis用于存储使用较为频繁的数据到缓存
中,读取速度快
,基于内存
,也可做持久化
,但是内存空间有限
,当数据量超过内存空间时,需扩充内存,但内存价格贵
需求上
mysql和redis因为需求的不同,一般都是配合使用。
需要高性能的地方使用Redis,不需要高性能的地方使用MySQL。存储数据在MySQL和Redis之间做同步。