05 2022 档案
摘要:名字和地址转换 系列文章导航:《Unix 网络编程》笔记 域名系统 简介 域名系统主要用于主机名字和 IP 地址之间的映射。主机名可以是: 简单名字,如:centos01 全限定域名(FQDN1),如:xxx.com 资源记录 记录 作用 A 指向IPv4 AAAA 指向IPv6 PTR 把IP地址
阅读全文
摘要:IO复用之select/poll 系列文章导航:《Unix 网络编程》笔记 概述 进程需要一种预先告知内核的能力,使得内核一旦发现进程指定的一个或多个 I/O 条件准备就绪,他就通知进程。这个能力被称为 I/O 复用。 典型应用场景有: 客户处理多个描述符(如之前的应用那样) 客户同时处理多个套接字
阅读全文
摘要:基本UDP套接字编程 系列文章导航:《Unix 网络编程》笔记 UDP 概述 流程图 recvfrom 和 sendto #include <sys/socket.h> ssize_t recvfrom(int sockfd, void *buff, size_t nbytes, int flags
阅读全文
摘要:IPv4 和 IPv6 的互操作性 系列文章导航:《Unix 网络编程》笔记 IPv4客户端与IPv6服务器 IPv4 Mapped IPv6 address 双栈主机的一个基本特性是其上的 IPv6 服务器既能处理 IPv4 客户,又能处理 IPv6客户,这是通过使用 IPv4 映射的 IPv6
阅读全文
摘要:TCP客户/服务器程序示例 系列文章导航:《Unix 网络编程》笔记 目标 ECHO-Application 结构如下: graph LR; A[标准输入/输出] --fgets--> B[TCP-Client] --writen/read--> C[TCP-Server] C --readline
阅读全文
摘要:本文讲解了 Unix 网络编程的若干函数,包括 socket、listen 等等,是之后继续学习的基础。尽管这些内容比较无趣,但是建议看完再继续往后学习。
阅读全文
摘要:多线程编程模型 线程安全名词 串行、并发和并行 串行:一个人,将任务一个一个完成 并发:一个人,有策略地同时做多件事情 并行:多个人,每人做一个事情 竞态 名词 竞态:计算结果的正确性与时间有关的现象被称为竞态 共享变量:可以被多个线程共同访问的变量 竞态产生的条件 read-modify-writ
阅读全文
摘要:数据持久化 这是《Redis设计与实现》系列的文章,系列导航:Redis设计与实现笔记 RDB持久化 RDB 持久化功能所生成的 RDB 文件是一个经过压缩的二进制文件,通过该文件可以还原生成 RDB 文件时的数据库状态。 基本使用 另外,由于AOF文件更新更频繁,所以: 优先使用AOF进行还原 只
阅读全文
摘要:数据库和事件 这是《Redis设计与实现》系列的文章,系列导航:Redis设计与实现笔记 数据库 数据库的结构定义在 redis.h/redisServer 这个结构体中,这个结构体有许多的字段用以记录 Redis 数据库的状态。学习数据库的过程中会慢慢地接触这里面的各种字段。 struct red
阅读全文
摘要:集群 这是《Redis设计与实现》系列的文章,系列导航:Redis设计与实现笔记 集群中的节点 创建集群 通过 CLUSTER NODE 命令可以查看当前集群中的节点。刚启动时,默认每一台节点都是一个集群。 sequenceDiagram participant r0 as redis.cn 700
阅读全文