看到一篇有关于mysql和redis区别的文章写的很好,学习一下;
数据库类型
- mySQL是关系型数据库
- Redis是非关系型数据库,缓存数据库
作用
- MySQL用于持久化存储数据到硬盘,功能强大,但是速度缓慢
- Redis用于存储使用较为频繁的数据到缓存中,读取速度快
数据存储位置
- mysql数据存放在磁盘;
- Redis数据存放在内存;
存放的数据类型
- Mysql:数值、日期、具体时间、字符串
- Redis:String、Hash、List、Set、Zset
需求区别
目前大部分公司的存储采用MySQL + Redis,MySQL作为主存储,Redis作为辅助存储被用作缓存,加快访问读取的速度,提高性能;Redis存储在内存中,存储容量肯定要比磁盘少很多,那么要存储大量数据,只能花更多的钱去购买内存,造成在一些不需要高性能的地方,是相对比较浪费的,所以目前基本都是MySQL(主) + Redis(辅),在需要性能的地方使用Redis,在不需要高性能的地方使用MySQL;
MySQL偏向于存数据,Redis偏向于快速取数据。但是Redis查询复杂的表关系时,不如MySQL,所以可以把热门的数据放Redis,MySQL存基本数据;
参考资料