数据结构 string,list,set,hash,zset (有序)
redis5之前,单线程
为什么单线程还是这么快
1.完全基于内存
绝大部分请求是纯粹的内存操作,非常快,数据存在内存中类似于hashmap,hashmap的查找和操作时间复杂度为O(1)。
2.数据结构简单,对数据操作也简单。
3.采用单线程,避免了不必要的线程切换,不用考虑锁的问题
4.使用了多路io非阻塞模型
5.使用底层模型不同,它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求;
网友评论