logo资料库

高性能内存数据库Redis(基础篇).pdf

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
高性能内存数据库Redis 基础篇 杜如意(DBA) duruyi@isesol.com
目 录 Redis 特性 02 01 Redis简介 应用场景 04 03 High Availability
01 PART 01 简介 Redis 是什么? Redis 数据类型 Redis 线程模型 Redis 性能
Redis是什么?
单进程单线程模型 多路IO复用模块 + AeEventLoop Epoll监听多个socket,AE将连接、读、写、关闭都转化为事件, 不在IO上浪费时间 main thread 执行客户端的命令请求 BIO background thread 耗时的操作,会放到后台线程中执行。 如,文件句柄关闭任务;AOF持久化;空间懒释放 Fork subprocess:RDB/REWRITEAOF 单线程模型的问题 单条命令执行占用大量时间,会造成阻塞
Redis为什么使用单线程模型 ALL in-memory 100ns; 瓶颈不在CPU而在于network IO,可启多实例来提升CPU利用率; 避免多线程的上下文切换和竞态条件的开销,实现简单。 Redis使用了单线程,为什么还这么快? 绝大部分请求都是在内存中完成; 单线程,避免多线程带来的损耗; 多路复用非阻塞IO模型:epoll+AeEventLoop
分享到:
收藏