Rdis作为一种KV缓存服务器,有着极高的性能,相对于mmcach,Rdis支持更多中数据类型,因此在业界广泛应用。
正文记得笔者刚毕业那会参加面试,面试官会问我Rdis为什么快,由于当时技术水平有限,我只能回答出如下两点:
数据是存储在内存中的。
Rdis是单线程的。
当然,将数据存储在内存中,读取的时候后不需要进行磁盘的IO,单线程也保证了系统没有线程的上下文切换。
但这两点只是Rdis高性能原因的很小一部分,下面的内容,笔者为大家从数据存储层面上分析Rdis性能为何如此高。
Rdis性能如此高的原因,我总结了如下几点
纯内存操作
单线程
高效的数据结构
合理的数据编码
其他方面的优化
在Rdis中,常用的5中数据结构和应用场景如下:
String:缓存、计数器、分布式锁等
List:链表、队列、微博