一、概念
redis是基于内存的,key-value格式的,单线程的,连接很多的,拥有丰富的数据类型的非关系型数据库
1、基于内存:快。单机并发量理论上是10w。mysql单机并发量最高也就1000
2、非关系型:之所以非关系型是因为,它主要用来做缓存,数据存的并不全,这个时候要是设置成关系型一定是有问题的
3、单线程:这个单线程指的是工作线程(worker)是单线程,高版本中io操作是多线程
二、redis和memcached比较
1、memcached的数据类型就只有string,所以每次读取的时候都是全量io读取,然后再解析。解析在客户端
2、redis的数据类型有五种,所以读取的时候可以只读想要的部分。解析在redis端
三、工作流程
0、客户端发请求到内核
1、redis基于多路复用epoll去内核中遍历,看哪些请求需要处理
2、redis进行io读取处理
3、读到redis中,进行串行化计算存储
4、redis进行