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