redis为什么比mysql快( 二 )

首先 , 用户访问mc , 如果未命中 , 就去访问mysql , 之后像内存和硬盘一样 , 把数据复制到mc一部分 。

redis和mc都是缓存 , 并且都是驻留在内存中运行的 , 这大大提升了高数据量web访问的访问速度 。 然而mc只是提供了简单的数据结构 。

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

内存和硬盘的关系 , 硬盘放置主体数据用于持久化存储 , 而内存则是当前运行的那部分数据 , CPU访问内存而不是磁盘 , 这大大提升了运行的速度 , 当然这是基于程序的局部化访问原理 。

推理到redis+mysql , 它是内存+磁盘关系的一个映射 , mysql放在磁盘 , redis放在内存 , 这样的话 , web应用每次只访问redis , 如果没有找到的数据 , 才去访问Mysql 。

然而redis+mysql和内存+磁盘的用法最好是不同的 。

推荐阅读