上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 内存淘汰策略 内存淘汰:就是当Redis内存使用达到设置的阈值时,redis主动挑选部分key删除以释放更多内存的流程。 Redis会在处理客户端命令的方法processCommand()中尝试做内存淘汰: 也就是说,redis是在任何命令执行之前,做内存的检查或者说尝试去淘汰一部分内存。 Redi 阅读全文
posted @ 2024-04-01 13:57 蓝海的bug本 阅读(29) 评论(0) 推荐(0) 编辑
摘要: Redis内存回收 Redsi之所以性能强,最主要的原因就是基于内存存储。然而单节点的redis其内存大小不宜过大,会影响持久化或者主从同步性。 我们可以通过修改配置文件来设置redis的最大内存: 当内存使用达到上限时,就无法存储更多数据了 过期策略 在学习redis缓存的时候我们说过,可以通过e 阅读全文
posted @ 2024-03-28 17:04 蓝海的bug本 阅读(20) 评论(0) 推荐(0) 编辑
摘要: Redis是一个CS架构的软件,通信一般分两步(不包括pipeline和PubSub): ① 客户端(client)向服务端(server)发送一条命令 ② 服务端解析并执行命令,返回响应结果给客户端 因此客户端发送命令的格式、服务端相应结果的格式必须有一个规范,这个规范就是通讯协议。 而在Redi 阅读全文
posted @ 2024-03-25 16:01 蓝海的bug本 阅读(26) 评论(0) 推荐(0) 编辑
摘要: Redis网络模型 Redis通过IO多路复用来提高网络性能,并且支持各种不同的多路复用实现,并且将这些实现进行封装,提供了统一的高性能事件库API库AE: ae.c对当前的系统环境做一个判断 来看下Redis单线程网络模型的整个流程 Redis 6.0版本中引入了多线程,目的是为了提高IO读写效率 阅读全文
posted @ 2024-03-22 16:45 蓝海的bug本 阅读(21) 评论(0) 推荐(0) 编辑
摘要: Redis是单线程还是多线程? Redis到底是单线程还是多线程? 如果仅仅聊Redis的核心的业务处理部分(命令处理),答案是单线程 如果是聊整个Redis那么答案是多线程 在Redis版本迭代过程中,在两个重要的时间节点上引入了多线程的支持: Redis v4.0:引入多线程异步处理一些耗时较长 阅读全文
posted @ 2024-03-20 14:45 蓝海的bug本 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 信号驱动IO 信号驱动IO是与内核建立SIGIO的信号关联并设置回调,当内核有FD就绪时,会发出SIGIO信号通知用户,期间用户应用可以执行其它业务,无需阻塞等待 缺点: 当有大量IO操作时,信号较多,SIGIO处理函数不能及时处理可能导致信号队列溢出 而且内核空间与用户空间的频繁信号交互性能也较低 阅读全文
posted @ 2024-03-19 14:52 蓝海的bug本 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 基于epoll的服务端流程 基于epoll模式的web服务的基本流程图: 阅读全文
posted @ 2024-03-18 16:57 蓝海的bug本 阅读(2) 评论(0) 推荐(0) 编辑
摘要: epoll事件通知机制 当FD有数据可读时,我们调用epoll_wait就可以得到通知。但是事件通知的模式有两种: LevelTriggered:简称LT。当FD有数据可读时,会重复通知多次,直到数据处理完成。是epoll的默认模式。 EdgeTriggered:简称ET。当FD有数据可读时,只会被 阅读全文
posted @ 2024-03-15 15:43 蓝海的bug本 阅读(35) 评论(0) 推荐(0) 编辑
摘要: Epoll epoll模式是对select和poll的改进,它提供了三个函数: Epoll有没有解决之前select或者poll的问题? select或者poll把要监听的数组或集合拷贝到内核空间,等待FD就绪,就绪后,还要拷贝回用户空间。 epoll把select函数的功能拆分开了,建立event 阅读全文
posted @ 2024-03-14 17:13 蓝海的bug本 阅读(23) 评论(0) 推荐(0) 编辑
摘要: Poll Poll模式对select模式做了简单改进,但性能提升不明显,部分关键代码如下: 如果设置超时时间,当超时时间过了,pollfd的fd没有就绪,revents就会赋值为0 IO流程: ① 创建pollfd数组,向其中添加关注的fd信息,数组大小自定义 ② 调用poll函数,将pollfd数 阅读全文
posted @ 2024-03-13 15:02 蓝海的bug本 阅读(15) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页