redis比mysql快的案例分析

56次阅读
没有评论

共计 930 个字符,预计需要花费 3 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关 redis 比 mysql 快的案例分析的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考。一起跟随丸趣 TV 小编过来看看吧。

Redis 将所有数据放在内存中,非数据同步正常工作中,是不需要从磁盘读取数据的,0 次 IO。内存响应时间大约为 100 纳秒,这是 Redis 速度快的重要基础。

mysql 是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的 IO,为了解决这个瓶颈,于是出现了缓存,比如现在用的最多的 memcached(简称 mc)。

首先,用户访问 mc,如果未命中,就去访问 mysql,之后像内存和硬盘一样,把数据复制到 mc 一部分 redis 和 mc 都是缓存,并且都是驻留在内存中运行的,这大大提升了高数据量 web 访问的访问速度。

然而 mc 只是提供了简单的数据结构,比如 string 存储;redis 却提供了大量的数据结构,比如 string、list、set、hashset、sorted set 这些,这使得用户方便了好多,毕竟封装了一层实用的功能,同时实现了同样的效果,当然用 redis 而慢慢舍弃 mc。

Redis 是单线程。简化算法的实现,并发的数据结构实现不但困难且测试也麻烦。第二,单线程避免了线程切换以及加锁释放锁带来的消耗,对于服务端开发来说,锁和线程切换通常是性能杀手。当然了,单线程也会有它的缺点,也是 Redis 的噩梦:阻塞。如果执行一个命令过长,那么会造成其他命令的阻塞,对于 Redis 是十分致命的,所以 Redis 是面向快速执行场景的数据库。

Redis 使用 epoll 作为 I / O 多路复用技术的实现,再加上 Redis 自身的事件处理模型将 epoll 的 read、write、close 等都转换成事件,不在网络 I / O 上浪费过多的时间。实现对多个 FD 读写的监控,提高性能。

mysql 用于持久化的存储数据到硬盘,功能强大,但是速度较慢

redis 用于存储使用较为频繁的数据到缓存中,读取速度快

感谢各位的阅读!关于 redis 比 mysql 快的案例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计930字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)