本身应用场景不同,自然无法直接对比优势劣势。
从效率来说:
Redis的数据存放在内存,所以速度快但是会受到内存空间限制。MySQL存放在硬盘,在速度上肯定没有Redis快,但是存放的数据量要多的多。
从功能来说:
Redis是一个K-V数据库,同时还支持List/Hash/Set/Sorted Set等几个简单数据结构,所以只能以这些数据结构为基础实现功能。而MySQL这点就不必说了。
最后需要提到的是,我一开始使用Redis时也觉得它的功能非常强大,以致于各种需求都下意识的去寻找Redis的解决方案(详见:Redis应用场景)。不过也有几个需要注意的点:
1. Redis虽然默认提供了RDB和AOF两种数据持久化方式,不过很多前辈还是建议我不要太信任Redis的持久化功能,所以重要数据最好还是存放在MySQL,然后在Redis中做缓存。
2. 项目初期在访问量低的时候通过Redis实现了很多功能,当用户量大了以后很快发现内存不够用了就会很尴尬。合理的利用有限的内存,将读(写)频繁的热数据放在Redis中才能更好感受到它带来的性能提升
需要更多教程,微信扫码即可
👆👆👆
别忘了扫码领资料哦【高清Java学习路线图】
和【全套学习视频及配套资料】