摘要: 0. 前言缓存系统是提升系统性能和处理能力的利器,常用的缓存系统各自的特性和使用场景有所不同,这里总结下常用缓存系统时需要关注的点以及解决方案,以及业务中缓存系统的选型等。本文内容主要包括以下: * 缓存使用中需要注意的点:热点、惊群、击穿、并发、一致性、预... 阅读全文
posted @ 2018-07-30 23:13 john8169 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 1 同步与异步首先来解释同步和异步的概念,这两个概念与消息的通知机制有关。也就是同步与异步主要是从消息通知机制角度来说的。1.1 概念描述所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后, 依赖的任务才能算完成,这是一种可靠的任务... 阅读全文
posted @ 2018-07-30 23:12 john8169 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis ... 阅读全文
posted @ 2018-07-30 23:11 john8169 阅读(7030) 评论(1) 推荐(3) 编辑
摘要: IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。与多进程和多线程技术相比,I/O多路复用技术的最大优势是系统开销小,系统不必创建进程/线程,也不必维护这些进程/线程,从而大大减小了系统的开销。目前支持I/O多路复用的系统调... 阅读全文
posted @ 2018-07-30 23:10 john8169 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 0. 前言memcached和redis,作为近些年最常用的缓存服务器,相信大家对它们再熟悉不过了。前两年还在学校时,我曾经读过它们的主要源码,如今写篇笔记从个人角度简单对比一下它们的实现方式,权当做复习, 有理解错误之处,欢迎指正。1. 综述读一个软件的源... 阅读全文
posted @ 2018-07-30 23:08 john8169 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 0. 前言Redis 基于 Reactor 模式开发了自己的网络事件处理器: 这个处理器被称为文件事件处理器(file event handler):文件事件处理器使用 I/O 多路复用(multiplexing)程序来同时监听多个套接字, 并根据套接字目前... 阅读全文
posted @ 2018-07-30 23:06 john8169 阅读(202) 评论(0) 推荐(0) 编辑