赞
踩
导图下载链接:刘卡卡 | ProcessOn
为什么Redis快
从高并发上来说:直接操作缓存能够承受的请求是远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。
从高性能上来说:用户第一次访问数据库中的某些数据。 因为是从硬盘上读取的所以这个过程会比较慢。将该用户访问的数据存在缓存中,下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。如果数据库中的对应数据改变的之后,同步改变缓存中相应的数据。
为什么用epoll
由于 Redis 是单线程程序,如果使用基本的 Socket 编程模型的话,只能对一个监听套接字或一个已连接套接字进行监听。而当 Redis 实例面临很多并发的客户端时,这种处理方式的效率就会很低。所以,和基本的 Socket 通信相比,使用 IO 多路复用机制,就可以一次性获得就绪的多个套接字,从而避免了逐个检测套接字的开销。这节课,我是以最常用的 Linux 操作系统为例,给你具体介绍了 Linux 系统提供的三种 IO 多路复用机制,分别是 select、poll 和 epoll。这三种机制在能监听的描述符数量和查找就绪描述符的方法上是不一样的,你可以重点参考下图,来掌握它们的不同之处。这些差异,其实也决定了 epoll 相比于 select 和 poll 来说,效率更高,也应用更广泛。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。