Redis等缓存数据库为什么访问会比较快?

Posted 平常心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis等缓存数据库为什么访问会比较快?相关的知识,希望对你有一定的参考价值。


     首先,我们知道,mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在用的最多的 memcached(简称mc)。
首先,用户访问mc,如果未命中,就去访问mysql,之后像内存和硬盘一样,把数据复制到mc一部分redis和mc都是缓存,并且都是驻留在内存中运行的,这大大提升了高数据量web访问的访问速度。
然而mc只是提供了简单的数据结构,比如 string存储;redis却提供了大量的数据结构,比如string、list、set、hashset、sorted set这些,这使得用户方便了好多,毕竟封装了一层实用的功能,同时
实现了同样的效果,当然用redis而慢慢舍弃mc。   内存和硬盘的关系,硬盘放置主体数据用于持久化存储,而内存则是当前运行的那部分数据,CPU访问内存而不是磁盘,这大大提升了运行的速度,
当然这是基于程序的局部化访问原理。   推理到redis+mysql,它是内存+磁盘关系的一个映射,mysql放在磁盘,redis放在内存,这样的话,web应用每次只访问redis,如果没有找到的数据,才去访问Mysql。  
然而redis+mysql和内存+磁盘的用法最好是不同的。

 

以上是关于Redis等缓存数据库为什么访问会比较快?的主要内容,如果未能解决你的问题,请参考以下文章

个人理解的redis

Redis是单线程的,但Redis为什么这么快?

Java内存缓存-通过Map定制简单缓存

Java内存缓存-通过Map定制简单缓存

为什么说Redis是单线程的以及Redis为什么这么快!

为什么说Redis是单线程的以及Redis为什么这么快!