其他应用层协议

RPC 远程过程调用协议(Remote Procedure Call, RPC)并不是一个协议,而是一种调用方式,比如ONC RPC/Sun RPC, DCE/RPC, MS RPC, ONC RPC, gRPC等等 RPC重点解决三个问题:表示数据(序列化反序列化等),传递数据(传输协议),确定方

IP

IPv4 IPv4是由32位正整数组成,c++中可以使用uint32_t来存储,常常使用字符串来表示xxx.xxx.xxx.xxx,每一个xxx可以为0-255。 CIDR IPv4本来分为A,B,C,D,E五类地址(x表示二进制位,X表示十进制位) A:0xxxxxxx.XXX.XXX.XXX B

TCP-UDP

传输层协议 传输层协议主要包括TCP/UDP两个协议,TCP是面向连接,可靠传输的;UDP是面向无连接,不可靠传输的。当然,现在也有一些协议是建立在UDP上面向可靠传输的,也可以把他们归纳到传输层协议中,比如KCP(可以使用UDP作为底层),QUIC等等。但是,传输层协议主要有TCP和UDP两种。

索引

索引类别 按照数据结构分类:B+树索引,哈希索引,Full-text索引 按照物理存储分类:聚簇索引(主键索引,数据存储在叶节点),二级索引(辅助索引,叶节点只存储主键) 按照字段特性分类:主键索引(对主键进行索引,只有一个),唯一索引(索引的列值不能重复,不是说只能有一个索引),普通索引,前缀索引

事务

事务特性 原子性:要么全完成,要么全不完成 一致性:事务前后,数据满足完整性约束 隔离性:多个并发事务之间不干扰 持久性:事务结束后,对数据修改是持久的 MyISAM是没有事务的,InnoDB才有事务,其通过如下方式保证: 持久性:redo log 原子性:undo log 隔离性:MVCC 一致性

MySQL 锁类别 全局锁 flush tables with read lock; unlock tables; // 解锁 这样表就处于只读状态了,全库逻辑备份就需要用这个。 表级锁 表锁 lock tables `table_name1` read, `table_name2` read;

mysql底层存储

数据库存储 SHOW VARIABLES LIKE 'datadir'; // 查看存储位置,一般 /var/lib/mysql/ 没创建一个数据库,会在/var/lib/mysql下面创建以数据库名的文件夹,里面一般有dp.opt, table_name.frm, table_name.ibd。

Redis数据结构

Redis数据类型与数据结构 Redis有String, List, Hash, Set, Zset, BitMap, HyperLogLog, GEO, Stream共八种类型,其中,前面五种比较常用。 而Redis中,实现这几种数据类型的数据结构有SDS, 链表, 压缩链表, 哈希表, 整数集合

Redis持久化篇

持久化方法 主要包括Append Only File(AOF)和RDB快照方法,前者是把命令写入磁盘,后者是把数据写入磁盘。 AOF 基本介绍 AOF的基本功能就是,每次执行客户端命令时,同样会记录该命令。只记录写操作的命令,不记录读操作的命令。 默认没开启,可以在redis.conf开启: app