Redis核心技术与实战
本文最后更新于:2023年10月17日 上午
Redis数据类型和底层数据结构的对应关系
渐进式rehash
单线程Redis为什么那么快
一方面,Rdis的大部分操作在内存上完成,再加上它采用了高效的数据结构,例如哈希表和跳表,这是它实现高性能的一个重要原因。
另一方面,就是Rdis采用了多路复用机制,使其在网络IO操作中能并发处理大量的客户端请求,实现高吞吐率。
AOF配置项appendfsync 的三个可选值,即三种写回策略
- Always 同步写回:每个写命令执行完,立马同步地将日志写回磁盘;
- Everysec 每秒写回:每个写命令执行完,只是先把日志写到 AOF 文件的内存缓冲区,每隔一秒把缓冲区中的内容写入磁盘;
- No 操作系统控制的写回:每个写命令执行完,只是先把日志写到 AOF 文件的内存缓冲区,由操作系统决定何时将缓冲区内容写回磁盘
日志文件太大了怎么办->AOF重写机制(重写过程是由后台线程 bgrewriteaof 来完成的,这也是为了避免阻塞主线程)
Redis 对事务原子性属性的保证情况:
- 命令入队时就报错,会放弃事务执行,保证原子性;
- 命令入队时没报错,实际执行时报错,不保证原子性;
- EXEC 命令执行时实例故障,如果开启了 AOF 日志,可以保证原子性
Redis核心技术与实战
https://baymax55.github.io/2023/10/08/redis/Redis核心技术与实战/