为什么redis很快?

  • 完全基于内存,绝大部分请求是纯粹的内存操作,执行效率高(采用单线程,单进程模型的K-V数据库,由C语言编写,将数据储存在内存中,读写时不会受到硬盘IO的限制)
  • 数据结构简单,对数据操作也简单(不使用表,不会进行数据之间的强制关联,存储结构为键值对,与hashMap类型,查找时间复杂度为O(1))
  • 采用单线程,单线程也能处理高并发请求,多核也可以启动多实例(将IO线程与业务线程分离,业务线程使用线程池,避免频繁创建和销毁线程)
  • 使用多路IO复用模型,非阻塞IO
posted @ 2019-09-23 22:53  lisongyu  阅读(211)  评论(0编辑  收藏  举报