天天看点

redis是单线程,为什么速度还这么快?

1、单线程,没有线程的创建、销毁及线程间切换需要的时间消耗,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗。

2、redis是存储在内存中的,没有磁盘io,内存的存取速度是比较快的。

3、redis灵活的数据结构。内部使用一个redisObject对象来表示所有的key和value。redisObject主要的信息包括数据类型、编码方式、数据指针、虚拟内存等。它包含String,Hash,List,Set,Sorted Set五种数据类型,针对不同的场景使用对应的数据类型,减少内存使用的同时,节省网络流量传输

个人的理解,可能理解的不全面,有错误的地方,欢迎补充,请各位看官批评指正,谢谢。

继续阅读