大连市建设市场综合管理平台,广州优化网站,衡水网站建设与制作,网站托管如何收费Redis相关面试题
此题是xx位面试题
(1)Redis Cluster,在一个请求过来的时候,数据分布在哪个节点, 使用的是有哪些算法? redis cluster 用不同的算法,就决定了数据如何分布到这些节点上去。 hash算法一致性hash算法hash slot算法(2)Redis为什么是高性能的? 基于内存…Redis相关面试题
此题是xx位面试题
(1)Redis Cluster,在一个请求过来的时候,数据分布在哪个节点,使用的是有哪些算法?
redis cluster 用不同的算法,就决定了数据如何分布到这些节点上去。
hash算法一致性hash算法hash slot算法(2)Redis为什么是高性能的?
基于内存的实现高效的数据结构 合适的线程模型(I/O多路复用模型,单线程模型) 合理的数据编码(String,List,Hash,Set,Zset) (3)Redis为什么单线程还能这么快?
通常来讲,单线程处理能力要比多线程差,那么为什么Redis使用单线程模型会达到每秒万级别的处理能力呢?可以将其归结为三点:
第一:纯内存访问,Redis将所有数据放在内存中,内存的响应时长大约为100纳秒,这是Redis达到每秒万级别访问的最重要的基础。第二:非阻塞I/O,Redis使用epoll作为I/O多路复用技术的实现,再加上Redis自身的事件处理模型将epoll中的连接、读写、关闭都转换为事件,不在网络I/O上浪费过多的时间第三:单线程避免了线程切换和竞态产生的消耗。