保存成功
订阅成功
保存失败,请重试
提交成功

Redis 的事件驱动框架

¥3会员免费看
暖和狐狸

Redis 是一个开源的(BSD 许可),基于 key-value 的内存存储系统,可用作数据库、缓存和消息队列等。

Redis 以高性能著称,在性能上甚至优于功能相对更简单的Memcached,有兴趣可以看看Redis 作者 Salvatore Sanfilippo 的 Memcached/Redis 的对比测试,或者 Redis 官方的基准测试

你一定会很吃惊,如果我告诉你:Redis 是单线程的。为什么 Redis 是单线程的,却能有很好的性能呢,简单来说就是: Redis 利用了 I/O 多路复用技术,它的基本原理就是由内核(比如使用 epoll 时,就是 epoll_wait 函数调用)轮询所负责的所有 I/O 文件描述符,当某些文件描述符有数据到达了,就通知用户进程(调用返回)。这种技术可以让我们在一个线程并行处理多个连接。

Redis 没有直接使用操作系统的 I/O 多路复用接口,而是自己实现了一个简单的事件驱动库,称为 Libae,支持 Freebsd、Linux 等多个操作系统,只有不到1000行代码。其设计简洁,功能强大,在其他项目中也被广泛使用,比如 HTTP 基准测试工具 wrk,Redis 官方的客户端库 hiredis

在项目中使用这个库可以轻松获得高并发和高性能。

在本场 Chat 中,会讲到如下内容:

  • I/O 多路复用技术
  • Redis 事件驱动库的架构设计
  • Redis 事件驱动库的代码解析
  • 如何实现高并发服务器
  • 如何使用 Redis 事件驱动库构建高并发服务
135 人已订阅
会员免费看
¥3 原价订阅
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效
严选标准
知道了
Chat 状态详情
开始预订
预订结果公布19.10.12

预订达标,作者开始写作

审核未达标,本场 Chat 终止

作者文章审核结果公布19.10.24

审核达标,文章发布

审核未达标,本场 Chat 终止

Chat 完结
×
已购列表